Yve*_*ves 1 javascript knockout.js
我是Knocout.JS的新手,所以我不知道如何解决我的问题.假设我想写一个小货币转换器.
<div>
Rate: <input type="text" data-bind="value: Rate" />
</div>
<div>
USD: <input type="text" data-bind="value: Dollar" />
</div>
<div>
EUR: <input type="text" data-bind="value: Euro" />
</div>
Run Code Online (Sandbox Code Playgroud)
我的模型是:
var viewModel = function() {
this.Rate = ko.observable(0);
this.Dollar = ko.observable(0);
this.Euro = ko.computed(function() {
return this.Dollar() * this.Rate();
}, this);
}
ko.applyBindings(new viewModel());
Run Code Online (Sandbox Code Playgroud)
所以我想确保每个文本框的更改事件都更新另一个.例如,如果美元更新,我也想更新欧元.
这是我的游乐场:http://jsfiddle.net/gnL4we9z/
您可以使您的Euro
计算可写并Dollar
在其write
函数中更新您的属性:
this.Euro = ko.computed({
read: function () {
return this.Dollar() * this.Rate();
},
write: function (value) {
this.Dollar(value / this.Rate());
},
owner: this
});
Run Code Online (Sandbox Code Playgroud)
演示JSFiddle.
归档时间: |
|
查看次数: |
329 次 |
最近记录: |