繁体   English   中英

Angularjs多指令[gridsection,gridsection]要求模板: <div gridsection=“”>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM