gpt4 book ai didi

javascript - 使用映射插件的 pureCompulated 属性

转载 作者:行者123 更新时间:2023-11-28 06:37:45 26 4
gpt4 key购买 nike

我正在使用 knockoutJS,但在使用 pureCompulated 属性时遇到一些问题。

这是我的模型

var LineItem = function() {
var self = this;
self.id = ko.observable('');
self.name = ko.observable('');
self.description = ko.observable('');
self.unit_price = ko.observable('');
self.quantity = ko.observable(1);
self.amount = ko.pureComputed(function() {
return self.unit_price() ? self.unit_price() * self.quantity() : 0;
});
};

当我使用 ko.mapping.toJS(LineItem) 发布数据时,它可以工作,但是,当我从服务器获取数据(以 json 格式)并使用 ko.mapping.fromJS(dataJSON) 再次构建时在 View 模型中,它会加载金额字段,但它不是 pureCompulated 值,因此当我更改数量值时,它不会更新。

使用 knockoutJS 映射插件从服务器检索字段后,如何再次使其成为 pureCompulated?

最佳答案

由于 amount 是 api 数据的一部分,您可以将 pureCompulated 与 amount 分开:

this.amount = ko.observable(0);
this.amountComputed = ko.pureComputed(function() {
return self.unit_price() ? self.unit_price() * self.quantity() : 0;
});

如果这对您不起作用,您可以确保在调用 fromJS 后重新创建您的数量 pureCompulated。

关于javascript - 使用映射插件的 pureCompulated 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34120623/

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