繁体   English   中英

在基因敲除js中,我如何绑定到属性并在属性更改时更新视图?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM