Javascript 自定义Angular.js过滤器在IE8中不返回任何内容,在Chrome/FF中运行良好
我已经编写了一个自定义过滤器来更改ng repeat的输出。我们有一个JSON文件列表,我正在从过滤器中创建指向资产的链接,因为JSON只使用文件名而不是实际路径来构建它们 过滤器:Javascript 自定义Angular.js过滤器在IE8中不返回任何内容,在Chrome/FF中运行良好,javascript,angularjs,internet-explorer-8,angularjs-ng-repeat,angularjs-filter,Javascript,Angularjs,Internet Explorer 8,Angularjs Ng Repeat,Angularjs Filter,我已经编写了一个自定义过滤器来更改ng repeat的输出。我们有一个JSON文件列表,我正在从过滤器中创建指向资产的链接,因为JSON只使用文件名而不是实际路径来构建它们 过滤器: filter('readLink', [function(){ return function(text) { var myURI = [], newLink; text.split('/').forEach(function(uriItem) { myURI.pu
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;
}
}])
<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>
HTML绑定:
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;
}
}])
<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>
-
{{sobitem.title}
{{sobitem.date}--
在IE8中出现is,而在真正的浏览器中它按预期工作。:) 在IE 8上不受支持,您记得在IE 8上使用它吗?或者,使用。我最近也有同样的问题。更改为
angular.forEach
无法解决问题。相反,常规的for循环
解决了问题是的,是forEach打破了我的过滤器。谢谢