0

我想将相同ViewModel的绑定应用到显示相同信息但包含不同值的不同模态框,我尝试向模态添加一个 Id 以应用这样的绑定。

ko.applyBindings(viewModel, document.getElementById("firstModal")); ko.applyBindings(viewModel, document.getElementById("secondModal"));

它绑定好,但是当我在任何一个模态中更改一个值时,它会在另一个中更改,

我的 jsFiddle http://jsfiddle.net/SgkbD/1/有一些我想要的例子。

4

2 回答 2

1

为什么你不能这样做http://jsfiddle.net/pmarshallandrew/SgkbD/19/ 并使用相同 viemodel 的不同实例?

...这非常有效,因为您将同一视图模型的不同实例绑定到 DOM 的两个不同部分。编辑 - 更新了更好的答案。

于 2012-10-03T13:04:56.927 回答
0

首先,您的示例没有显示您所描述的内容。

要回答您的问题,这是预期的行为。这是因为您将同一个可观察对象绑定到两个不同的位置。但是因为它是同一个 observable,以任何方式更新它,那么所有引用它的绑定都会被更新。

我已经更新了您的示例以在http://jsfiddle.net/SgkbD/8/上显示此内容


编辑 在你下面的答案之后,显而易见的答案是你不能。相同的属性 那将违背淘汰赛的设计。

但是,您可以执行我在此http://jsfiddle.net/photo_tom/SgkbD/9/中所做的操作。您可以在不同的部分绑定视图模型的不同属性。

如果您想要两个不同的视图模型副本,每个副本都绑定到不同的部分,那也可以。

于 2012-10-02T17:25:40.837 回答