2013-04-10 56 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

相关问题