我正在使用typescript来编写knockout js。我有一个具有多个属性的类。我有一个'description'属性,它没有连接到DOM,但需要在某些鼠标事件(按钮点击)上的某些弹出窗口中使用。我可以轻松访问该属性并显示弹出窗口,但使用'description'属性作为knockout observable vs non observable是否有任何优点/缺点?
答案 0 :(得分:1)
KO如何知道视图模型的某些部分何时发生变化?
答案:您需要将模型属性声明为可观察对象, 因为这些是可以通知的特殊JavaScript对象 订阅者有关更改,并可以自动检测依赖关系。
如果要在弹出窗口中显示更新的描述值,或者想要在更改description属性时执行某些内容,则必须将其定义为observable
。
答案 1 :(得分:0)
这完全取决于您的description
属性是静态还是动态。如果它不会改变那么它就不应该被观察到。如果要更改,则需要将更改反映在弹出窗口(以及可能引用它的任何computed
属性中)。