Javascript AngularJS动态筛选未更新
我有两个过滤器的ng重复。当我通过按钮更新一个“uniqueFilter”时,列表不会使用我的新过滤器更新。这是HTMLJavascript AngularJS动态筛选未更新,javascript,angularjs,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,我有两个过滤器的ng重复。当我通过按钮更新一个“uniqueFilter”时,列表不会使用我的新过滤器更新。这是HTML <div ng-controller="FooterController" class="bar bar-footer"> <button class="button button-clear" ng-click="switchViewType('LOCATIONS')">Locations</button> <b
<div ng-controller="FooterController" class="bar bar-footer">
<button class="button button-clear" ng-click="switchViewType('LOCATIONS')">Locations</button>
<button class="button button-clear" ng-click="switchViewType('DEPARTMENTS')">Right</button>
<button class="button button-clear" ng-click="switchViewType('CENTERS')">update</button>
</div>
<div class="list list-inset has-subheader-sbm">
<label class="item item-input">
<i class="icon ion-search placeholder-icon"></i>
<input type="search" ng-model="query" placeholder="Search">
</label>
</div>
<ion-content ng-controller="ListController" class="has-subheader-search-sbm">
<ion-list>
<a class='item item-icon-right' ng-repeat="item in directory | filter : type=uniqueFilter | filter : query" href="tel:{{item.phone}}">
{{item.label1}}<br>
{{item.label2}}
<i class="icon ion-ios-information-outline"></i>
</a>
</ion-list>
</ion-content>
有人能告诉我为什么我的筛选列表没有更新吗
谢谢。每个控制器中的作用域都不同,每个$scope.uniqueFilter指向不同的位置。解决此问题的一个简单方法是合并控制器,如果可能,只使用一个控制器,或者使用angular services(),将变量作为服务的一部分,以便可以在不同的控制器之间使用。好的,我让它工作了!我认为范围是全球性的。谢谢你的帮助!
appCtrl.controller('ListController', function($scope, $http) {
var url = 'https://server/Ataglanceservice.svc/getDAAG';
$http.get(url).then(function(resp) {
// For JSON responses, resp.data contains the result
$scope.data = resp.data
$scope.directory = angular.fromJson($scope.data);
}, function(err) {
console.error('ERR', err);
})
$scope.uniqueFilter = 'DEPARTMENTS';
//$scope.varView = 'LOCATIONS';
});
appCtrl.controller("FooterController", function($scope, $localStorage) {
$scope.switchViewType = function($viewType) {
$scope.uniqueFilter = $viewType;
}
});