现在我有 3 个数组,我想用 ng-repeat 在 3 个数组之间切换:
$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
。但这不是很高效。特别是在填充数组和空数组之间切换时。
最佳答案
您可以在 ng-repeat 源中切换键并使用括号表示法。
<li ng-repeat="data in fooDataObj[vm.source] track by data.id"></li>
然后单击按钮将vm.source
设置为文本array1、array2、array3
。如果您想使其成为动态派生键名而不是硬编码,则只需从对象中获取键即可 Object.keys(fooDataObj)
关于javascript - 使用 ng-repeat 在数组之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32145520/