【发布时间】:2015-06-29 14:32:49
【问题描述】:
我想在更改视图模型的可观察属性时更新 UI。
ViewModel 是:
function UserViewModel() {
var self = this;
self.name = ko.observable("Test User")
}
在按钮点击时声明对象并更新可观察属性
var userViewModel = {};
$("#button").click(funtion(){
userViewModel.name("Test");
})
在视图模型上应用绑定
$(funtion(){
userViewModel = new UserViewModel();
ko.applyBindings(userViewModel);
})
而视图是
<span data-bind="text:name"></span>
或
<span data-bind="text:name()"></span>
谢谢,请推荐。
【问题讨论】:
-
为什么使用 jquery 进行点击?看来你正在覆盖你的
viewmodel...首先你写var userViewModel = {};然后userViewModel = new UserViewModel();然后这覆盖你原来的viewmodel但是点击处理程序仍然会引用旧的var userViewModel = {};... -
我声明了变量
var userViewModel = {};,以便为视图模型调用一次applybindings。 -
谢谢@nemesv!它提供了一种解决我的问题的方法。好提示+1
标签: javascript jquery knockout.js