1

我正在说明一个堆叠图及其表格,并使用它获取其 json 数据$http.get()并将其设置为$scope.dataset

html:

<input ng-model="_searchQuery.key1.key2">
<tr  ng-repeat="(key, value) in dataset | filter:_searchQuery ">

我如何$scope.dataset在控制器中更新?

_searchQuerydataset像魅力一样匹配和过滤我的桌子。无需在控制器中编写任何代码。即dataset.key1.key2反映到_searchQuery.key1.key2

但是对于我的 nvd3.js 堆叠图,我必须$scope.dataset在 DOM 中以相同的方式进行过滤。$scope.dataset = $filter('$scope._searchQuery.key1.key2')($scope.dataset)通过一个错误。我正在关注角度文档和此链接:如何在控制器中使用过滤器?

4

1 回答 1

1

这可能是一个可能的重复问题如何使用 AngularJS 过滤数组并使用过滤对象的属性作为 ng-model 属性?

同样的解决方案对我有用:

首先:我必须将其实例$scope._searchQuery化为controller一个object并包含它的属性。

第二:更新$scope.dataset- 和按对象属性过滤的关键字是filter我正在玩的_searchQuery

语法帮助我解决了这个问题: $scope.dataset = $filter('filter')($scope.dataset,$scope._searchQuery.key1.key2);

看起来不可能将超过 2 个 args 传递给 $filter,因此要根据更多输入进行过滤,我必须复制同一行并传递$scope._searchQuery.key1.key3给它。

于 2017-04-26T01:05:55.480 回答