将 ko observables 组合成一个 ko observable 数组
Posted
技术标签:
【中文标题】将 ko observables 组合成一个 ko observable 数组【英文标题】:combine ko observables into a ko observable array 【发布时间】:2020-09-14 15:44:49 【问题描述】:我目前有两个 observables 我想合并到一个数组中发送到我的后端应用程序进行处理,它们是:
self.ElementData = ko.observable(localStorage.getItem('ElementDataWidget'));
self.scorecardIDLocalStorage = ko.observable(localStorage.getItem('scorecardId'));
我的问题是我的后端只接受一个参数,而不是两个。我将如何合并这两个?我已经开始使用这段代码,但我对它感到困惑。
self.ElementData = ko.observable(localStorage.getItem('ElementDataWidget'));
self.scorecardIDLocalStorage = ko.observable(localStorage.getItem('scorecardId'));
self.LocalstorageData = ko.computed(function()
var tempStorage = [];
ko.Utils.arrayForEach(self.ElementData(), function(item)
tempStorage.push(
)
)
)
【问题讨论】:
为什么必须是可计算数组?你有一个被调用的函数,API 调用它,对吗?此时,只需将两个可观察对象组合成一个对象,然后发送到后端。 只要我能得到它作为一个组合我可以使用任何方法,我对 Knockout 很陌生,你能告诉我我应该如何组合它们@Yanchi 【参考方案1】:我没有测试它,但至少缺少两件事:
self.LocalstorageData = ko.computed(function()
var tempStorage = [];
ko.Utils.arrayForEach(self.ElementData(), function(item)
tempStorage.push(
)
)
return tempStorage // <--- !!
, this) // <--- !!
【讨论】:
以上是关于将 ko observables 组合成一个 ko observable 数组的主要内容,如果未能解决你的问题,请参考以下文章
KnockoutJS 查找 ko.observable() 长度
如何将从 json 接收到的 ko.observable 字符串解析为整数(数字)值