使用 Chrome 控制台通过 RequireJS 访问 Knockout ViewModel

2024-03-31

既然我正在使用 RequireJS,如何在 Chrome 控制台中访问 KnockOut ViewModel 变量?

在使用 RequireJS 之前,我遵循命名空间模式,将所有内容隐藏在单个全局中。我可以通过在 Chrome 控制台中输入以下内容来访问全局:window.namespaceVar。

但现在我使用 RequireJS,我所有的变量都隐藏在 require 函数后面。

require(['knockout-2.2.0', 'jquery'], function (ko, jQuery) {

    var ViewModel = function () {
            var testVar = ko.observable(true);
        };

    ko.applyBindings(new ViewModel());
}

那么我如何获取当前值testVar在例子中?


淘汰赛包括功能ko.dataFor and 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 http://knockoutjs.com/documentation/unobtrusive-event-handling.html

以下是有关如何使用 chrome 调试 KnockoutJS 的分步指南:http://devillers.nl/quick-debugging-knockoutjs-in-chrome/ http://devillers.nl/quick-debugging-knockoutjs-in-chrome/

使用 Chrome 的 $0_$4 功能:https://developers.google.com/chrome-developer-tools/docs/commandline-api#0-4 https://developers.google.com/chrome-developer-tools/docs/commandline-api#0-4

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Chrome 控制台通过 RequireJS 访问 Knockout ViewModel 的相关文章

随机推荐