我有一个简单的jsfiddle,我试图更好地理解值绑定。我有一个输入控件值绑定到我的 viewModel 上的搜索属性,如下所示:
<input data-bind="value: search" />
我的搜索属性定义为:
this.search = ko.observable("");
我还在“搜索”属性上实现了订阅,如下所示:
this.search.subscribe(function(newValue) {
alert("New value is " + newValue);
alert("New value is" + this.search);
});
我可以看到newValue在我键入然后选择另一个控件时发生变化,但是 viewModel 属性搜索始终是undefined。我期望使用 2 向绑定,当我键入信息时,搜索将具有类型值,以便我可以在使用 ajax 执行 web 服务调用的按钮中使用它,但undefined是我可以在该字段中获得的唯一值不设置搜索的默认值。
是否期望我在 subscribe 调用中更改search的值?我认为这可以通过双向绑定来为我完成。