使用ng-repeat

时间:2015-08-21 16:48:05

标签: javascript arrays angularjs

现在我有3个阵列,我想用我的ng-repeat切换:

$scope.fooDataObj = {
array1:[{name:'john', id:'1'},{name:'jerry', id:'2'}],
array2[{name:'bill', id:'1'},{name:'tom', id:'2'}],
array3:[]
}

和我的ng-repeat:

<li ng-repeat="data in fooDataObj track by data.id"></li>

所以我想做的就是以最高效的方式在我的对象中动态切换我的数据数组。

所以基本上当点击<button></button>时,它会从使用array1中的ng-repeat更改为array2

我通过设置ng-repeat="data in fooData"然后点击触发$scope.fooData = fooDataObj.array1来完成此操作。但这不是很有效。特别是在填充的数组之间切换到空数组时。

1 个答案:

答案 0 :(得分:1)

您只需在ng-repeat源中切换键并使用括号表示法。

 <li ng-repeat="data in fooDataObj[vm.source] track by data.id"></li>

并点击按钮,将vm.source设置为文字array1, array2, array3。如果您想使其成为动态派生键名而不是硬编码,那么只需从对象获取键Object.keys(fooDataObj)