您好我有以下HTML:
<div id="div1">
<input id="input1" data-bind="value: inputIn, valueUpdate: 'afterKeydown'" >
// ... more stuff between
</div>
<div id="div2">
<input id="input2" data-bind="value: inputOut">
// .... more stuff between
</div>
我的模特是这样的:
function MyModel() {
"use strict";
this.inputIn = ko.observable("");
this.inputOut = ko.computed(function() {
return transformOutput(this.inputIn());
}
}
应用绑定:
var myModel = new MyModel();
ko.applyBindings(model, document.getElementById("div2"));
ko.applyBindings(model, document.getElementById("div1"));
我希望输入1的更改能够影响输入2.出了什么问题?他们是在不改变html的情况下解决这个问题。该元素位于两个不同的div中,我希望敲除绑定适用于跨越根域。
答案 0 :(得分:0)
你的问题不在于你如何约束它(虽然我不认为这是值得的麻烦)。您的问题是this
不是您认为computed
属性中的window
(实际上是function MyModel() {
var self = this;
this.inputIn = ko.observable("");
this.inputOut = ko.computed(function () {
return transformOutput(self.inputIn());
});
}
)。
试试这个:
{{1}}
这是一个简单的fiddle