我有一个自定义绑定,用于在视图模型上更改字段(“类型”)时重新初始化 dom 元素。这是在更新回调中定义的。
<input type="text" data-bind="value: Value, initValueField: Type()" />
ko.bindingHandlers.initValueField = {
update:function (element, valueAccessor, allBindingsAccessor, viewModel) {
alert('Hello World');
}
};
请参阅此jsFiddle以获取精简演示。
据我了解,调用更新的条件之一如下:
任何时候触发同一数据绑定属性中的另一个绑定。这有助于确保在更改选项时,值之类的东西是合适的。
我遇到的问题是,只要 viewmodel 上的值发生更改,也会调用此更新回调。
那么......是否有可能:
- 禁止绑定之一调用自定义绑定。
- 检测自定义绑定中的调用源。