我有一个输入元素,它绑定(bind)到一个可观察的 knockout :
<input type="text" data-bind="value: myText, valueUpdate: 'keyup'" />
这会更新每次 keyup 上的可观察值。我现在想在值更改时触发其他事件。
原则上,以下内容执行此操作:
this.myTextTrigger = ko.computed( function () {
console.log( this.myText() );
}, this );
但是,它看起来有点笨拙。它还会在模板的初始实例化时触发,我只想处理此后的更改。 是否有官方/更简单的方法来根据可观察值的更改触发事件?
最佳答案
使用订阅:
this.myText.subscribe(function (newText) {
console.log(newText);
});
如果你想重用这个触发器,你可以考虑写一个 custom binding 。
关于triggers - Knockout.JS:根据可观察的变化触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12229751/