我在我的MVC项目中使用TypeScript和Knockout,在我的.ts文件中我实现了viewmodel类和模块下的另外2个类,我也在$(document).ready下使用jquery。 现在我的问题是我想应用绑定如果我在类下面的一个地方实现ko.applyBindings(viewModel)它获取设置值但是当我更改我的文本框和下拉值时它永远不会设置b / c ko.applyBindings(viewModel)不是再次申请。
不知道我应该在哪里实现ko.applyBindings(viewModel),请告诉我我将要实现的想法或位置。
由于
答案 0 :(得分:3)
应该为标记调用一次ko.applyBinding。
因此,如果您有一个包含某些绑定的页面,例如
<input data-bind="value: vmtext">
您可以在页面底部或任何地方的domready活动中调用ko.applyBinding。
不要忘记,为了使双向绑定工作,您需要在vm中使用ko.observable:
var vm = {
vmtext: ko.observable("initial value")
};
ko.applyBindings(vm);
如果稍后在工作期间添加一些标记(例如异步加载部分视图标记),则必须对其进行applyBindings以使绑定有效。