我有一个从服务器加载项目列表的应用程序。在视图中,我有一个这些项目的列表+过滤其中一个属性。每分钟都会自动刷新项目列表。场景: - 从过滤器中选择任何值 - 我只能看到过滤物品 - 很好,一切都很完美.. - 完成数据模型刷新 - 选择过滤器的值设置为null,并再次显示所有项目(不进行任何过滤)。 如何防止过滤器重置?
这是一些代码。 控制器:
...
function(scope) {
scope.items = undefined;
scope.filters = { };
scope.selectedMode = null;
scope.loadItems = function() {
myservice.getItems()
.then(
function(response) {
scope.items = response.data;
}
);
};
scope.loadItems();
$scope.$watch('selectedMode', function(newValue, oldValue){
scope.filters.mode = newValue ? newValue.mode : undefined;
});
}
....
查看:
<div class="col-md-4 col-sm-4 col-xs-12 form-group">
Mode:
<select ng-options="item.mode for item in items | unique:'mode'" ng-model="selectedMode">
<option value="">Show all</option>
</select>
</div>
<div class="row">
<div class="col-md-6 col-sm-6 col-xs-12" ng-repeat="item in filteredItems = ( items | filter:filters )">
<a href="#">{{ item.url }}</a>
</div>
</div>