我现在该如何访问在Chrome控制台淘汰赛视图模型变量,我使用RequireJS?
使用RequireJS之前,我跟着一个命名空间模式,隐藏在一个单一的全球性的一切。 我可以通过键入以下到Chrome的控制台访问全球:window.namespaceVar。
但现在,我使用RequireJS,我的所有变量的需要功能背后隐藏的。
require(['knockout-2.2.0', 'jquery'], function (ko, jQuery) {
var ViewModel = function () {
var testVar = ko.observable(true);
};
ko.applyBindings(new ViewModel());
}
那么,如何将访问的当前值testVar
的例子吗?
淘汰赛包括功能ko.dataFor
和ko.contextFor
,这将使你获得给出的元素KO视图模型的信息。
所以,在控制台中,你可以这样做:
var vm = ko.dataFor(document.body);
在你的情况, testVar
不外露,所以你仍然不能访问它。 我认为你是虽然只是一个样本,你的意思是这样的:
var ViewModel = function () {
this.testVar = ko.observable(true);
};
现在,使用上面的方法你就可以访问vm.testVar
做,它的值vm.testVar()
以下是我们对这些功能的文档: http://knockoutjs.com/documentation/unobtrusive-event-handling.html
这里是一个关于如何调试铬KnockoutJS一步指南: http://devillers.nl/quick-debugging-knockoutjs-in-chrome/
使用Chrome的$ 0_ $ 4的特征: https://developers.google.com/chrome-developer-tools/docs/commandline-api#0-4
瑞安认为,最快的方式是使用ko.contextFor
和ko.dataFor
在控制台上看到的DOM元素的绑定上下文。
还有,这里就是利用这一原理被称为KnockoutJS语境调试器,提供一个非常有用的Chrome扩展:
Chrome网上应用店- KnockoutJS语境调试
它可以让你检查一个元素,看看它在元素窗格中的侧边栏背景。 这是你有一个页面上的多个结合上下文,或非常嵌套结合上下文最有用的。
要求是所有关于没有全局:
require(["knockout"],function(ko){ window.ko=ko;});
再次引入全局
您可以在控制台中使用:
require("knockout").dataFor($0);
require("knockout").contextFor($0);