gpt4 book ai didi

javascript - knockout 循环引用(简单货币转换器)

转载 作者:行者123 更新时间:2023-11-30 08:41:19 26 4
gpt4 key购买 nike

我是 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>

我的模型是:

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());

所以我想确保每个文本框的更改事件都会更新另一个。例如,如果 Dollar 更新了,我也想更新 Euro

  • Rate 的变化将更新 Euro
  • 美元的变化将更新欧元
  • 欧元的变化将更新美元

这是我的 Playground :http://jsfiddle.net/gnL4we9z/

最佳答案

您可以制作欧元 computed writable并在其 write 函数中更新您的 Dollar 属性:

this.Euro = ko.computed({
read: function () {
return this.Dollar() * this.Rate();
},
write: function (value) {
this.Dollar(value / this.Rate());
},
owner: this
});

演示 JSFiddle .

关于javascript - knockout 循环引用(简单货币转换器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26115663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com