[英]Angularjs Multiple directives [gridsection, gridsection] asking for template on: <div gridsection=“”>
我收到错误: Multiple directives [gridsection, gridsection] asking for templateon : <div gridsection="">
使用此代码。
我不知道我是如何使用嵌套指令或导致这种情况的原因。
HTML页面
<div gridsection ></div>
指示
angular.module('web').directive('gridsection', function() {
return {
restrict: 'A',
replace: false,
scope: {
patient: "=patient"
},
templateUrl: 'directive/section.html',
link: function(scope, element, attrs, fn) {
}
};
});
指令/ section.html
<div>
here?
</div>
您似乎在角度代码中多次声明网格部分。
之前我在文件夹中有一个指令脚本文件的副本时已经看过了。
即我的文件结构是
* myDirective.js
* myDirective - copy.js
所以基本上我有两个同名的指令。
卫生署!
注意最初将此作为评论发布,但作为回应来自@jayjayjay的评论而创建
确保没有包含脚本标记两次。
我有这个问题,但只在标记中声明了一次指令,结果是因为我将脚本包括两次。
注意:我在其中一个评论中看到了另一个答案并将其作为答案发布,以便于访问/防止它丢失。
对于后代,我得到了这个例外,因为我试图创建一个名为pager
的指令,并且它与Bootstrap的寻呼机发生冲突。
由于其他答案中未指定的原因,我收到此错误。 我使用xyz指令的声明为<xyz xyz="xyz"></xyz>
我的定义是:
angular.module('app')
.directive('xyz', function () {
return {
templateUrl: '..../xyz.html',
restrict: 'EA',
scope: {
xyz: '='
},
link: function (scope, element, attrs) {
}
};
});
这里的问题是我允许将指令用作元素和属性。 所以<xyz xyz="xyz"></xyz>
包含导致问题的声明。
解决方案是将指令限制为仅用于元素restrict: 'E'
或将指令的名称更改为xyzView,并将其用作<xyz-view xyz="xyz"></xyz-view>
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.