告诉knockout observable从源头重新绑定

时间:2013-11-13 22:39:49

标签: data-binding knockout.js knockout-3.0

如果我要在keydown事件之外更新textarea,则不会重新绑定我的observable。

我尝试调用model.WrittenContent.valueHasMutated()来刷新textarea 而不是 observable。

我正在使用我认为目前做到这一点的黑客行为,但我不愿意这样做......

model.WrittenContent($('#my-input').val());

我可以获得淘汰赛来重新评估textarea的价值吗?

1 个答案:

答案 0 :(得分:1)

问题似乎在于,无论你做什么来更新textarea都不会导致textarea发出绑定正在侦听的任何类型的事件,因此Knockout无法知道它需要更新任何可观测量。

你可以做的最好的事情可能是

$('#my-input').change();
假设change参数设置为valueUpdate(默认为默认值),

应生成绑定可识别的change事件。如果您使用contenteditable设置绑定到非表单元素,那么BTW也是您必须执行的操作,因为这些元素本身不会生成change个事件。