我有一个templateUrl指令用于显示定制的下拉菜单。 该指令追加DOM元素以元素节点,而无需更换它:
<cross-dropdown>
<!-- First Directive Template Content Start-->
<div></div>
<!-- First Directive Template Content End-->
</cross-dropdown>
然后,我想创建一个又一个的验证,所以它可以追加更多的DOM元素融入到由第一指令插入的内容,这样的结果将是:
<cross-dropdown>
<!-- First Directive Template Content Start-->
<div></div>
<!-- First Directive Template Content End-->
<!-- Second Directive Template Content Start-->
<div></div>
<!-- Second Directive Template Content End-->
</cross-dropdown>
所以在这里我们先定义指令:
angular.module('someModule').directive('firstDirective'....
templateUrl: '/4_Common/1_views/directives/dropdown.html',
replace: false,
priority:10,
在这里,第二个定义:
angular.module('someModule').directive('secondDirective'....
templateUrl: 'some-template',
transclude: true,
replace: true,
priority: 1
第二个指令模板:
<div>
<span ng-transclude></span>
<span>
<span></span>
</span>
</div>
所以,我可以移动通过第一指令生成的内容到NG-transclude跨度终于此内容:
<cross-dropdown>
<div>
<span ng-transclude>
<!-- First Directive Template Content Start-->
<div></div>
<!-- First Directive Template Content End-->
</span>
<!-- Second Directive Template Content Start-->
<span>
<span></span>
</span>
<!-- Second Directive Template Content End-->
</div>
</cross-dropdown>
但我得到错误“多指令问模板”。 优先播放,并检查我不能修复这个错误后,我要问,如果我想要实现是可能的反正或破坏指令的规则。 请注意,我用元素有一个工作版本,编译这个DOM内容,而不是使用模板追加,但我想保持模板在一个单独的HTML文件。 提前致谢!