0

这是一个非常简单的问题,所以我真的希望有一个简单的解决方案。我不想使用任何外部模板库,因为虽然我熟悉 EmberJS,但 Ember 对我目前正在处理的应用程序来说太过分了。

我已经设置了一个快速的 JSFiddle:http: //jsfiddle.net/zeEFP/3/

4

2 回答 2

1

在您最初的小提琴中,您将视图模型应用于整个 dom(或更具体地说window.document.body),因为您没有提供上下文元素。因此您不需要with绑定(with绑定创建一个新的绑定上下文,而您已经在正确的绑定上下文中)

见:http: //jsfiddle.net/zeEFP/10/

如果您希望使用多个视图模型,则可以为该applyBindings方法提供上下文:

ko.applyBindings(new FirstViewModel(), document.getElementById("someId));

在此处查看更新的小提琴:http: //jsfiddle.net/zeEFP/8/

如果您不喜欢提供额外的标记作为上下文,applyBindings您可以改为使用总体视图模型,然后使用with绑定为页面的某些部分创建新上下文

见:http: //jsfiddle.net/zeEFP/11/

希望这有助于为您解决问题

于 2012-06-18T14:28:38.513 回答
1

ko.applyBindings() 将 viewmodel 作为参数。我已经更新了你的小提琴:

http://jsfiddle.net/zeEFP/4/

之前它失败了,因为您告诉敲除在 ViewModel 对象的 ViewModel 属性中查找属性

于 2012-06-18T12:51:35.737 回答