访问所有绑定值
问题描述:
我有一个用ASP.NET编写的大项目,我需要修改。它采用knockout.js绑定值:访问所有绑定值
$(document).ready(function() {
var model = new MyViewModel();
ko.applyBindings(model);
});
之后,bindig完成:
<span data-bind="text: myText"></span>
我现在想访问被束缚,所有的值。不幸的是,我对这些框架并不是很有经验。
随着
console.log(model);
我得到一个巨大的输出(摘录):
MyViewModel{settings: [...]}
TypeSeriesSubscription: c()
barClick: (e, bar)
cancelSetting:()
chartClick: (value)
chartUser: c()
charts: c()
[...]
随着
model.myText
我得到的只是undifined
。
如何访问myText
以便将其文本放在控制台中?
答
您正在确定范围model
只存在于ready
函数的内部。试试这个:
var model = new MyViewModel();
$(document).ready(function() {
ko.applyBindings(model);
});
那么你应该能够:
console.log(model.myText());
由于KO依赖于观察的模式,你需要使用()
任何财产后,看到它的当前值。
如果'text'是一个可观察的使用'model.text()',如果它的var然后使用'model.text'。还要将'var model = new MyViewModel();''document'ready'外部在控制台中进行测试。 – Dandy
@Dandy:使用'model.myText'我得到'undefined'和'model.myText()'我得到'model.myText不是一个函数'。 – user1170330
显示** MyViewModel **的代码 –