Transclude fallback content
是Angular V1.5.0中添加的功能之一
我正在为Angular编写dateTimePicker module并希望为下一版本添加自定义用户输入模板功能,而Transclude fallback content
正是我想要的,因为如果用户没有在指令中放置任何内容,默认模板将会注入。
但我不能强迫每个人使用Angular V1.5.X
有没有替代方案?
另一种解决方案:
因为我有一个巨大的html模板,不能使它成为单行字符串或...将它放在JS文件中,我分叉Mario Lamacchia
的想法。
HTML:
<div>
<ng-transclude></ng-transclude>
<div ng-if="defaultTemplate">...</div>
</div>
JS:
link: function(scope, element, attrs, ngModel) {
if (!element.find('ng-transclude').children().length) {
scope.defaultTemplate = true;
element.find('ng-transclude').remove();
}
}
答案 0 :(得分:3)
在1.3.x版本中添加此链接功能会得到与转换回退内容的1.5.x示例相同的结果
link: function(scope, element) {
if (!element.find('ng-transclude').children().length) {
element.find('button').append('<b style="color: red">Button1</b>');
}
}
Plunker:http://plnkr.co/edit/7VHLsv