以下代码中,每当viewModel.item可观察对象更新时,我期望我的update函数执行。我可以看到在页面加载时,我的init和update函数按预期触发,但是当单击按钮更新可观察对象的值时,它们并没有执行。
标记:
标记:
<button id='addButton'>item++</button>
<br/>
<span>viewModel.item = </span>
<span data-bind='text: $data.item(), bind: viewModel.item'></span>
脚本:
$(document).ready(function() {
$('#addButton').click(function() {
viewModel.item(viewModel.item() + 1);
});
var viewModel = {
item: ko.observable(1)
};
ko.bindingHandlers.bind = {
init: function(element, valueAccessor) {
alert('init');
},
update: function(element, valueAccessor) {
alert('update');
}
};
ko.applyBindings(viewModel);
});
我已经浏览了一些类似的问题,但没有找到一个可比的例子。我已经在这里创建了一个JSFiddle 链接。