Если вы просто хотите, чтобы переключаться между двумя различными источниками массива ng-repeat
, вы могли бы сделать это в несколько способов:
1. использовать функцию, чтобы вернуть исходный массив
В контроллере:
var books = [], old_books = []; // don't need to set them on $scope
$scope.getBooks = function(){
return $scope.isOldBooks ? old_books : books;
}
и View использует getBooks()
в качестве источника:
<div ng-click="isOldBooks = !isOldBooks">toggle new/old</div>
<div ng-repeat="item in getBooks()">
{{item}}
</div>
2. непосредственно в представлении
<div ng-click="isOldBooks = !isOldBooks">toggle new/old</div>
<div ng-repeat="item in ((isOldBooks && old_books) || books)">
{{item}}
</div>
(вы можете запрограммировать isOldBooks
в контроллере)