我有一个淘汰组件列表
<!-- ko foreach: myComponents -->
<div data-bind="component: $data"></div>
<!-- /ko-->
以下是我如何创建可观察的组件定义数组,并按预期呈现。
createComponents = function(jsonData) {
var components;
components = _.map(jsonData, function( jsonItem ) {
switch (jsonItem.type) {
case 0:
return {
name: "component-type-0",
params: jsonItem
};
case 1:
return {
name: "component-type-1",
params: jsonItem
};
default:
throw new Error("No case for type " + jsonItem.type);
});
this.myComponents( components );
};
但是我不确定如何对它们进行排序。我的数组只有创建组件时创建的 viewModelname
和 the,但没有。jsonData
我希望数组中的项目保留为组件,以便使它们易于重复使用。
有没有办法访问创建的视图模型,以便我可以根据它的属性进行排序?