Knockout.js:订阅还是计算可观察?

时间:2014-04-03 05:44:07

标签: knockout.js

让我解释一下。我有webapi控制器,它返回一些值,然后使用Knockout.js绑定到UI。我从其他控制器获得的值之一,但需要绑定到同一个元素。为了使用新值更新ViewModel,我应该使用subscribe方法还是计算?我是Knockout.js的新手,所以请不要严格评判我 - 很多事情让我在阅读文档后感到困惑。

1 个答案:

答案 0 :(得分:1)

一般来说:

  1. 使用observables创建任何视图模型属性,计算或其他。

    代码也可以共享多个视图模型之间的相同可观察对象,这样两者都可以提供相同的可观察对象。这应该只在考虑之后完成,但它消除了一个代理"完全可以观察到。

    此外,还可以使用聚合来允许视图绑定到多视图模型(作为兄弟姐妹或通过一个vm可以作为另一个的属性/可观察对象访问)。

  2. 使用订阅事件和处理外部视图模型属性。

    在少数情况下,订阅对于视图模型维护很有用,但它们通常优先于标准视图模型可观察对象。