2013-04-10 39 views
0

這聽起來很簡單,但是使用谷歌搜索即將勝出。我有一個下拉列表中選擇具有多個類別:Angular.js - 使用過濾器來改變變量

<select ng-model="orderProp" > 
    <option ng-repeat="cats in categories" value="{{cats}}">{{cats}}</option> 
</select> 

我也有一張地圖,使用Angular Google Maps,它使用JSON數據繪製標誌。這些標記的數據被稱爲$scope.markersProperty

當用戶使用選擇框時,我想動態更改markersProperty的值。採用了棱角分明的HTML {{}}我能得到我想要一個簡單的結果:

{{markersProperty|filter:orderProp}}

但我不能爲我的生活工作如何獲得類似的功能來更新陣列$scope.markersProperty。有任何想法嗎?

+0

爲什麼不使用markersProperty作爲選擇框NG-模式? – anazimok 2013-04-10 01:35:09

回答

2

如果你的意思是你要更新的範圍變量,那麼你可以使用$filter服務:

.controller('MainCtrl', function ($scope, $filter) { 
    $scope.markersProperty = // ... 

    $scope.$watch('orderProp', function (val) { 
    $scope.filteredMarkersProperty = $filter('filter')($scope.markersProperty, val); 
    }); 
}); 
+0

太棒了,歡呼! – Jascination 2013-04-10 01:44:39