【发布时间】:2015-01-03 20:20:06
【问题描述】:
我有一个过滤器:
filter('keys', [function() {
return function(obj) {
if (angular.isObject(obj)) {
return Object.keys(obj);
}
};
}])
这个过滤器然后与一个对象一起使用来获取键。我是这样使用它的:
<directive data="{test: 1, test1: 2, test2: 3} | keys"></directive>
我得到一个无限的摘要错误。为什么?
【问题讨论】:
-
这段代码的问题很难理解。
directive这里是什么? -
一个 AngularJS 指令或任何元素。
-
你能在 plunker 中复制问题
-
Angular 不会在每次评估表达式时创建新的对象实例吗?你在那个表情上有
$watch吗? -
@PavelHoral 这似乎并不那么明显。在视图中定义对象表达式不会产生您提到的任何这些效果。你可以自己试试。它也必须由其他东西贡献。这里有一个例子plnkr.co/edit/HRUoze2GvMVsWTwGTnr6?p=preview
标签: javascript html angularjs angularjs-directive angularjs-filter