在淘汰赛中,保持一个不可观察的属性与观察到的优势是否有任何优势?

时间:2018-01-05 00:15:03

标签: typescript knockout.js

我正在使用typescript来编写knockout js。我有一个具有多个属性的类。我有一个'description'属性,它没有连接到DOM,但需要在某些鼠标事件(按钮点击)上的某些弹出窗口中使用。我可以轻松访问该属性并显示弹出窗口,但使用'description'属性作为knockout observable vs non observable是否有任何优点/缺点?

2 个答案:

答案 0 :(得分:1)

  

KO如何知道视图模型的某些部分何时发生变化?

     

答案:您需要将模型属性声明为可观察对象,   因为这些是可以通知的特殊JavaScript对象   订阅者有关更改,并可以自动检测依赖关系。

如果要在弹出窗口中显示更新的描述值,或者想要在更改description属性时执行某些内容,则必须将其定义为observable

答案 1 :(得分:0)

这完全取决于您的description属性是静态还是动态。如果它不会改变那么它就不应该被观察到。如果要更改,则需要将更改反映在弹出窗口(以及可能引用它的任何computed属性中)。