我使用ui路由器($ routeprovider和$ locationprovider)作为角度js。我想根据当前的url / route更改在ng-repeat中循环的数组。我已经在堆栈上阅读了类似的帖子,但无法找到问题的确切解决方案。
这些是我的路线
.when('/limited', {
template: '<di-home></di-home>',
activeTab: 'home',
caseInsensitiveMatch: true,
})
.when('/all', {
template: '<di-home></di-home>',
activeTab: 'home',
caseInsensitiveMatch: true,
})
当网址发生变化时,我想在Ctrl.data.all&#34;中更改&#34;中的ng-repeat到了Ctrl.data.limited&#34;中的东西用某种if语句。
<md-card class="md-whiteframe-4dp" ng-repeat="things in Ctrl.data.all" flex-xs="100" flex-sm="100" flex-md="45" flex-gt-md="30"></md-card>
实现这一目标的最佳方法是什么?你能指出我正确的方向/类似的职位吗?谢谢!
答案 0 :(得分:0)
请勿在您的视图中执行此操作,这是您的控制器的工作。保持视图简单:
if($location.path() === '/limited') {
$scope.dataToDisplay = $scope.data.limited;
} else if($location.path() === '/all') {
$scope.dataToDisplay = $scope.data.all;
}
然后在控制器中,根据您的网址,设置$location
:
{{1}}
PS:不要忘记在控制器中注入{{1}}。