小编典典

KnockOutJS - 单个视图中的多个 ViewModel

all

我在想我的应用程序现在变得非常大,太大而无法使用单个 ViewModel 处理每个视图。

所以我想知道创建多个 ViewModel 并将它们全部加载到一个 View 中会有多困难。需要注意的是,我还需要能够将 X ViewModel
数据传递到 Y ViewModel 数据中,因此各个 ViewModel 需要能够相互通信或至少相互了解。

例如,我有一个<select>下拉菜单,该选择下拉菜单有一个选择状态,它允许我将所选项目的 ID 传递<select>给单独 ViewModel
中的另一个 Ajax 调用…。

在单个视图中处理多个 ViewModel 的任何要点表示赞赏:)


阅读 80

收藏
2022-07-02

共1个答案

小编典典

Knockout 现在支持多个模型绑定。该ko.applyBindings()方法采用可选参数 - 将激活绑定的元素及其后代。

例如:

ko.applyBindings(myViewModel, document.getElementById('someElementId'))

这将激活限制为具有 ID 的元素someElementId及其后代。

有关更多详细信息,请参阅文档

2022-07-02