gpt4 book ai didi

javascript - 无法到达由 ko.mapping 在 javascript 中实例化的 observablesArray

转载 作者:行者123 更新时间:2023-11-28 01:42:12 26 4
gpt4 key购买 nike

这是一个例子: http://jsfiddle.net/valin/W4ubQ/

如您所见,由函数 (this.features) 实例化的数组正在工作。但是由 ko.mapping (this.featuresFromJS) 实例化的数组仅适用于 View ,而不适用于 javascript 函数。我应该如何实例化 featuresFromJS 或其他内容来计算 lowTotal

感谢任何帮助。

最佳答案

希望这会有所帮助:

function objFeatures(name, price) {
return {
name: ko.observable(name),
price: ko.observable(price)
}
}

var AppViewModel = function () {
var self = this;
self.featuresFromJS = ko.observableArray();

self.features = ko.observableArray([
new objFeatures("Feature1", 20),
new objFeatures("Feature2", 50)]);

var data = '[{"name":"Feature3","price":20},{"name":"Feature4","price":50}]';

ko.mapping.fromJSON(data, {}, self.featuresFromJS);

self.lowTotal = ko.computed(function () {
var total = 0;
ko.utils.arrayForEach(this.featuresFromJS(), function (item) {
alert("hooray!");
total += item.price();
});
return total;
}, self);

self.grandTotal = ko.computed(function () {
var total = 0;
ko.utils.arrayForEach(this.features(), function (item) {
total += item.price();
});
return total;
}, self);
};

ko.applyBindings(new AppViewModel());

关于javascript - 无法到达由 ko.mapping 在 javascript 中实例化的 observablesArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20789652/

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