AngularJS多指令资源争用
我试图用angular构建一个指令 这是你的电话号码 我想把它分成3个指令:AngularJS多指令资源争用,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我试图用angular构建一个指令 这是你的电话号码 我想把它分成3个指令: 上,祖父母指令。-许多天 中间,使用ng重复创建-一天 底部,使用ng repeat创建-多个时间块 有棱角的 .directive('dateTimeBlocks',[function dateTimeBlocksDirective(){}])。directive('dayBlock',[function dayDirective(){}]) .directive('timeBlock',[function t
- 上,祖父母指令。-许多天
- 中间,使用ng重复创建-一天
- 底部,使用ng repeat创建-多个时间块
有棱角的
.directive('dateTimeBlocks',[function dateTimeBlocksDirective(){}])。directive('dayBlock',[function dayDirective(){}])
.directive('timeBlock',[function timeBlockDirective(){}])
我想用
隔离作用域,只传递我要在内部修改的数据
但它似乎无法编译
多个指令[dateBlock,dateBlock]要求在以下位置上使用模板:
任何输入都将不胜感激。这一行导致错误:
<date-block data-date-block="datePeriod"></date-block>
现在,dateBlock
指令用restrict:'AE'
声明,因此它可以作为元素或属性应用。因此,上面的行导致AngularJS将日期块
指令应用于元素两次
这本身并不会导致错误,但是dateBlock
声明了一个模板,并且AngularJS不允许一个元素有两个模板(不管怎么说,AngularJS应该选择哪个模板?),因此它会抛出一个错误
有几种方法可以解决这个问题
E
,以便AngularJS不会将数据日期块
视为指令dateBlock
重命名为其他名称
。像这样:
如果在同一指令中有一个模板和templateUrl,那么也可能会出现此错误 i、 e:
。。。
模板:“你好,世界”,
templateUrl:“MyTemplate.html”,
...
希望这对某人有所帮助,错误消息不会立即指出这一点。哇,真是个疏忽。我尝试了所有可以想象到的指令属性组合:s非常感谢您发现了这一点!:]这个错误消息对我来说是误导性的,我无法想象其中一个会超过另一个。
<date-block date-block="datePeriod"></date-block>
...
template: '<div>Hello world</div>',
templateUrl: "MyTemplate.html",
...