我使用动态模板创建了一个指令,它运行良好。 问题是我收到了一个错误:
在Chrome = TypeError:undefined不是forEach.attr的函数 在Firefox =错误:element.setAttribute不是函数
以下是代码:
return {
restrict:'E',
replace:true,
scope:{
content:'@'
},
controller:function($scope){
$scope.getTemplateUrl = function() {
if($scope.content.match(/<img/i) && !$scope.content.match(/icon-subs/i)) {
return 'app/templates/_image.html';
} else if ($scope.content.match(/<a/i)) {
return 'app/templates/_link.html';
} else if ($scope.content.match(/<iframe/i)) {
return 'app/templates/_video.html';
} else {
return 'app/templates/_minutes.html';
}
}
},
template: '<div ng-include="getTemplateUrl()"></div>'
};
指令标记:
<div ng-repeat="lance in contentsArray">
<icone-timeline data-content="{{lance.content}}"></icone-timeline>
<div ng-bind-html="lance.content"></div>
</div>
答案 0 :(得分:-1)
经过长时间的运行我找到了解决方案,问题是:
replace:true,
我删除这部分后,问题就解决了。