javascript - 使用 ng-repeat 在数组之间切换

标签 javascript arrays angularjs

现在我有 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-repeatarray2 .

我通过设置 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/

相关文章:

javascript - 如何以 "right"方式内联初始化 angular.js Controller 数据

javascript - 无法从 JSON 数组检索值

JavaScript 变量不起作用。为什么?

javascript - 我可以关闭javascript代码中的确认框吗

javascript - AR.JS 使盒子变平

javascript - 重复数组 javascript 值并创建索引

c - 如何给空数组赋值

javascript - 使 jQuery 分页/排序适用于同一页面上的多个表

javascript - 在 JavaScript 中创建数组集合?

javascript - AngularJS Bootstrap 下拉菜单在 IE 11 中不起作用