[英]In knockoutjs how can I bind to a property and have the view updated when the property changes?
在这里我的学习中可能存在误解。
我将视图模型绑定设置为“观察” javascript对象的属性。 我创建了一个间隔计时器来切换对象的属性,但是我的UI并未反映出更改。 如何通知框架该对象的属性已更改并相应地对其进行更新?
实时示例: http : //liveweave.com/Xfrcrv
<p>Section 1 <span data-bind="visible : hasErrors">***</span></p>
<script>
var myObj = {sectionhasErrors : true}
var vm = {
hasErrors : ko.observable(myObj.sectionhasErrors)
};
ko.applyBindings(vm);
var iTimer = setInterval(function () {
myObj.sectionhasErrors = !myObj.sectionhasErrors
console.log('toggled!');
},5000);
</script>
淘汰赛无法“观察”对象的各个属性。 您必须将整个对象放在一个可观察的对象中。
<p>Section 1 <span data-bind="visible : myObj().hasErrors">***</span></p>
var myObj = {
hasErrors: true
}
var vm = {
myObj: ko.observable(myObj)
};
ko.applyBindings(vm);
var iTimer = setInterval(function () {
var myObj = vm.myObj();
myObj.hasErrors = false;
vm.myObj(myObj);
console.log('toggled!');
},5000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.