Data binding 告诉可观察到的敲除从源重新绑定

Data binding 告诉可观察到的敲除从源重新绑定,data-binding,knockout.js,knockout-3.0,Data Binding,Knockout.js,Knockout 3.0,如果我有一个文本区域在按键事件之外更新,它不会重新绑定我的可观察对象 我尝试调用model.writencontent.valueHasMutated(),它刷新文本区域而不是可观察对象 我正在使用一种我认为是黑客的方法来做这件事,但我不想这样做 model.WrittenContent($('#my-input').val()); 我可以让knockout重新评估textarea的值吗?问题似乎是,无论您更新textarea做什么,都不会导致textarea发出绑定正在侦听的任何类型的事件,

如果我有一个文本区域在按键事件之外更新,它不会重新绑定我的可观察对象

我尝试调用
model.writencontent.valueHasMutated()
,它刷新文本区域而不是可观察对象

我正在使用一种我认为是黑客的方法来做这件事,但我不想这样做

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

我可以让knockout重新评估textarea的值吗?

问题似乎是,无论您更新textarea做什么,都不会导致textarea发出绑定正在侦听的任何类型的事件,因此knockout无法知道它需要更新任何观察值

也许你能做的最好的事情是

$('#my-input').change();

假设
valueUpdate
参数设置为
change
(默认情况下),则它将生成绑定可以识别的
change
事件。顺便说一句,如果要绑定到设置了
contenteditable
的非表单元素,这也是必须做的,因为这些元素本身不会生成
change
事件。

是的,我想你是对的,我使用的是分页编辑器(就像这里的堆栈溢出)但是,尽管更改了文本框的值,但单击粗体斜体等并不会更新可观察内容。