【发布时间】:2016-09-22 03:38:36
【问题描述】:
我正在尝试通过将 md-autocomplete 包装在我自己的指令中来扩展它,如下所示:
//..other directive code
template: '<div><md-autocomplete ng-transclude=""></md-autocomplete></div>';
transclude: true;
希望我可以使用这个 HTML:
<my-custom-autocomplete>
<span>{{item.name}}</span>
</my-custom-autocomplete>
所以我基本上想要的是,当<my-custom-autocomplete> 被渲染时,最终代码会变成这样:
<my-custom-autocomplete><div><md-autocomplete><span>{{item.name}}</span></md-autocomplete></div></my-custom-autocomplete>
即<my-custom-autocomplete> 中的 html 代码将被嵌入到 <md-autocomplete> 指令之间。
不幸的是,这不起作用,我不断收到此错误:
angular.js:13550 Error: [ngTransclude:orphan] Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: <md-autocomplete ng-transclude="" tabindex="-1" class="ng-isolate-scope">
我的问题是:
- 我做错了什么?
- 如何在我的自定义指令中包含 HTML 并在渲染前将其置于
<md-autocomplete>之间?
【问题讨论】:
标签: angularjs angularjs-directive angular-material angularjs-ng-transclude