【发布时间】:2016-06-26 12:32:32
【问题描述】:
我有一个应用程序,我想根据“选择”包含产品类型的值过滤一长串产品。过滤器有效,但只有在我选择了一些东西之后。它最初设置“显示全部”选项,但会过滤掉所有内容。如果我选择其他东西,它会起作用,如果我重新选择“显示全部”它会起作用。但是为什么过滤器最初不起作用?
模型(看起来像这样):
$scope.products = {[
{name: 'productA',Type: 1},
{name: 'productB',Type: 1},
{name: 'productC',Type: 2},
{name: 'productD',Type: 2},
]};
$scope.productTypes = {[
{Name: 'typeAlpha',Type: 1},
{Name: 'typeBravo',Type: 2},
]};
HTML:
<select id="productFilter" data-ng-model="productFilter">
<option value="" selected="selected">Show all</option>
<option data-ng-repeat="type in productTypes" value="{{type.Type}}">{{type.Name}}</option>
</select>
<p data-ng-repeat="product in products | filter:{Type:productFilter} ">{{product.Name}}</p>
【问题讨论】:
-
这应该是什么意思 $scope.products = {[...]}; ?它应该是数组 $scope.products = [{...}, ...];或对象 $scope.products = {};此示例不起作用。
标签: angularjs select filter angularjs-ng-repeat