knockout-postbox和knockout组件可以同步使用可观察的数组吗?

时间:2015-05-07 19:37:08

标签: javascript arrays knockout.js

我有两个组件要在它们之间同步一个可观察的数组。它可以找到一个可观察的,但是有一个数组它永远不会同步。你可以function myFunc(types, pages, callback) { var pageResults = []; for (var i = 0; i < types.length; i++) { var type = types[i]; for (var j = 1; j < pages; j++) { getBikes(type, j, function(err, results, settings){ if(err) throw err; var obj = { results: results, settings: settings }; pageResults.push(obj); if((i === types.length-1) && (j === pages -1)){ callback(pageResults); } }); }; }; }); 一个可观察的数组吗?

如果我将数组转换为字符串然后同步它传递的observable,那么我必须重新构建另一个vm上的observable数组。可以只使用syncWith吗?

VM1

syncWith

VM2

  self.offers = ko.observableArray([]).syncWith("offersLink");


            var mappedLogs = $.map(allData, function (item) { return new model.offerList(item) });
            self.offers(mappedLogs);

1 个答案:

答案 0 :(得分:1)

想通了!

self.offers = ko.observableArray([]).syncWith("offersLink");

应该是

self.offers = ko.observableArray().syncWith("offersLink");

[]总是用空数组覆盖