1

不确定这是否可能与 Angular 相关,但它会很可爱。

假设我有一个汽车的 json 对象。如此多的车型和品牌(福特、沃克斯豪尔、大众等)。然后我将使用 data-ng-repeat 列出所有汽车。

但我想列出能够按汽车品牌过滤的复选框。在获得 JSON 之前,我不会知道汽车的可能品牌,因此我无法预先填充列表。

这是一个快速演示 http://jsbin.com/AkiGaLO/3/edit

现在我可以单独循环遍历所有项目,拉出make,检查make是否存在于另一个数组中,如果不把它扔进去。但这一切看起来真的很烦人:)而且我可能会处理数千个对象。

那么在 Angular 中是否有一个快速的胜利?或者在普通的 JS 中。

干杯

4

1 回答 1

0

您可以创建自定义过滤器以返回汽车品牌名称的唯一列表。

<div data-ng-repeat="carmake in cars | uniquemake">
    <input type="checkbox" ng-model="search[carmake]" />{{ carmake }}
</div>

app.filter('uniquemake', function () {
    return function (cars, length, end) {
        var result = {};
        angular.forEach(cars, function (car) {
            result[car.make] = 1;
        });
        return Object.keys(result);
    };
});
于 2013-09-10T14:24:24.937 回答