现在我有三个数组,我想在我的ng-repeat:
之间切换$scope.fooDataObj = {
array1:[{name:'john', id:'1'},{name:'jerry', id:'2'}],
array2[{name:'bill', id:'1'},{name:'tom', id:'2'}],
array3:[]
}
and my ng-repeat:
<li ng-repeat="data in fooDataObj track by data.id"></li>
所以我想做的就是用最高效的方式在对象内的数据数组之间动态切换。
所以基本上当点击<button></button>
时它会从ng-repeat
中的array1
变为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>
和on按钮单击设置vm.source
文本array1, array2, array3
。如果你想让它成为动态派生的密钥名而不是硬编码那么就从对象中获取密钥为Object.keys(fooDataObj)