我试图了解如何在我的Javascript代码中管理范围。创建视图模型后,如何从其余的javascript中访问它? (此代码中的最后一行生成'未定义'错误
注意:我找到了几个关于ko函数/ var之间差异的帖子,但是没有人说过使用var有一个范围优势......所以我尝试了两种方法。
//function AppViewModel() {
// this.gridSize = ko.observable("30");
// this.canvasWidth = ko.observable("600");
// this.canvasHeight = ko.observable("600");
// this.displayCoords = "Axial";
// this.pixel="0";
// this.hex="0";
//}
//ko.applyBindings(new AppViewModel());
var AppViewModel = {
gridSize: ko.observable("30"),
canvasWidth: ko.observable("600"),
canvasHeight: ko.observable("600"),
displayCoords: "Axial",
pixel:"0",
hex:"0"
};
ko.applyBindings(AppViewModel );
var test = AppViewModel.gridSize;
答案 0 :(得分:1)
ko.observable是一个函数,因此要引用一个可观察的值,你必须有brakets
e.g。来自上面的例子
var test = AppViewModel.gridSize();
找到了这个很好的解释 http://knockoutjs.com/documentation/observables.html