我收到错误:Multiple directives [gridsection, gridsection] asking for templateon : <div gridsection="">
此代码。
我不知道我是如何使用嵌套指令或导致这种情况的原因。
html page
<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>
答案 0 :(得分:14)
您似乎在角度代码中多次声明网格部分。
答案 1 :(得分:2)
之前我在文件夹中有指令脚本文件的副本时已经看过了。
即。我的文件结构是
* myDirective.js
* myDirective - copy.js
基本上我有两个同名的指令。
<强>卫生署!强>
注意最初将此作为评论发布,但是为了回应来自@jayjayjay的评论而创建的答案
答案 2 :(得分:1)
确保您没有包含两次脚本标记。
我有这个问题,但只在标记中声明了一次指令,结果是因为我将脚本包括两次。
注意:我在其中一条评论中看到了另一个答案并将其作为答案发布,以便于访问/防止它丢失。
答案 3 :(得分:0)
对于后代,我得到了这个例外,因为我试图创建一个名为SELECT id,title,parent_id, rn
FROM (SELECT (@rn := if(@parent_id = parent_id, @rn + 1,
if(@parent_id := parent_id, 1, 1)
)
) as rn,
meals.*
FROM meals CROSS JOIN
(SELECT @rn := 0, @parent_id := '') params
ORDER BY rand()
) meals
WHERE rn <= 2
ORDER BY id ASC
的指令,并且该指令与Bootstrap的寻呼机发生冲突。
答案 4 :(得分:0)
由于其他答案中未指定的原因,我收到此错误。
我将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>
。 < / p>