Angular:数据模型刷新后过滤组合框重置

时间:2016-03-15 12:17:16

标签: angularjs

我有一个从服务器加载项目列表的应用程序。在视图中,我有一个这些项目的列表+过滤其中一个属性。每分钟都会自动刷新项目列表。场景: - 从过滤器中选择任何值 - 我只能看到过滤物品 - 很好,一切都很完美.. - 完成数据模型刷新 - 选择过滤器的值设置为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>

0 个答案:

没有答案