【问题标题】:Knockout.js: Subscribe or computed observable?Knockout.js:订阅还是计算 observable?
【发布时间】:2014-04-03 14:07:52
【问题描述】:

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

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    一般:

    1. 使用 observables 来创建任何 视图模型属性,无论是计算的还是其他的。

      代码还可以在多个视图模型之间共享相同的可观察对象,这样两者实际上都提供了相同的可观察对象。这应该只在考虑之后才能完成,但它完全消除了可观察的“代理”。

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

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

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

    【讨论】:

    • 谢谢。你的回答让我知道了如何处理这个问题。
    • @andrey.shedko Sweet :) KO 很有趣,但也有一些小惊喜。
    猜你喜欢
    • 2013-04-25
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多