2013-04-10 3 views
0

Это звучит просто, но googling подходит козырям. У меня есть выпадающий список выбора, который имеет несколько категорий: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 ANGULAR в {{}} я могу получить результаты, я хочу с простым:

{{markersProperty|filter:orderProp}}

Но я не могу за жизнь мне работать, как получить аналогичные функциональные возможности для обновления массива $scope.markersProperty. Есть идеи?

+0

Почему бы не использовать markersProperty в нг-модели на поле выбора? – anazimok

ответ

2

Если вы имеете в виду вы хотите обновить переменную области действия, то вы можете использовать $filter службу:

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

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

Фантастический, ура! – Jascination

Смежные вопросы