Прямо сейчас у меня есть 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
. Но это не очень хорошо. Особенно при переключении между заполненными массивами в пустой массив.
Вы можете просто переключить ключ и использовать нотацию кронштейна в источнике ng-repeat.
<li ng-repeat="data in fooDataObj[vm.source] track by data.id"></li>
и на кнопке нажмите set vm.source
для text array1, array2, array3
. Если вы хотите сделать это динамическим производным ключом вместо hardcoding, тогда просто получите ключи от объекта как Object.keys(fooDataObj)