AngularJS 1.x的 ng-repeat 是否与 ES6地图兼容?
答案 0 :(得分:4)
最简单的方法是根据建议的@Minato创建自己的角度过滤器。
您可以使用ES6 Spread语法将地图转换为数组:
angular.module('SomeModuleName')
.filter('mapToArray', function() {
return function(map) {
return [...map.values()];
};
});
然后只需在模板中使用它:
<div ng-repeat="item in Map | mapToArray">
你也可以使用lodash toArray方法: https://lodash.com/docs/4.17.4#toArray
答案 1 :(得分:3)
ngRepeat
目前不支持Map
..要使用它,您必须首先将其转换为JavaScript数组..或者在使用时编写过滤器进行转换。< / p>
请参阅angular-toArrayFilter以供参考。您也可以创建自己的过滤器,例如 toArraFilter ,并将其与Map
内的ngRepeat
一起使用。
答案 2 :(得分:0)
请参阅我的回答here,了解将ng-repeat
绑定到Angular 1.x中的ES6 Map
的解决方案。