我编写了一个自定义过滤器来更改ng-repeat的输出。我们有一个JSON文件列表,我正在创建从过滤器到资源的链接,因为json只使用文件名而不是实际路径构建它们。
过滤:
filter('readLink', [function(){
return function(text) {
var myURI = [],
newLink;
text.split('/').forEach(function(uriItem) {
myURI.push(uriItem);
});
newLink = myURI[3] + '/' + myURI[4] + '/' + myURI[5] + '/' + myURI[6];
return newLink;
}
}])
HTML绑定:
<ul class="sob-repeat">
<li ng-repeat="sobitem in sobUT">
<h4>{{sobitem.title}}</h4>
{{sobitem.date}} - <a ng-href="{{sobitem.audio | audioFix}}">Listen</a> - <a ng-href="#/read/{{sobitem.transcript | readLink}}">Read</a>
</li>
</ul>
IE8出现在 REAL BROWSERS 时,它按预期工作。 :)
答案 0 :(得分:1)
array.forEach
,您是否还记得{8}用于IE 8?或者,使用polyfill。
答案 1 :(得分:0)
我最近遇到了同样的问题。更改为angular.forEach
没有解决问题。相反,常规for loop
解决了问题