这是一个非常简单的问题,所以我真的希望有一个简单的解决方案。我不想使用任何外部模板库,因为虽然我熟悉 EmberJS,但 Ember 对我目前正在处理的应用程序来说太过分了。
我已经设置了一个快速的 JSFiddle:http: //jsfiddle.net/zeEFP/3/
这是一个非常简单的问题,所以我真的希望有一个简单的解决方案。我不想使用任何外部模板库,因为虽然我熟悉 EmberJS,但 Ember 对我目前正在处理的应用程序来说太过分了。
我已经设置了一个快速的 JSFiddle:http: //jsfiddle.net/zeEFP/3/
在您最初的小提琴中,您将视图模型应用于整个 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/
希望这有助于为您解决问题
ko.applyBindings() 将 viewmodel 作为参数。我已经更新了你的小提琴:
之前它失败了,因为您告诉敲除在 ViewModel 对象的 ViewModel 属性中查找属性