Transclude fallback content
Angular V1.5.0
に追加された機能の 1 つです。私は Angular 用のdateTimePicker モジュールを作成しており、次のバージョンのカスタム ユーザー入力テンプレート機能を追加したいと考えていますTransclude fallback content
。ユーザーがディレクティブ内に何も配置しない場合、デフォルト テンプレート注入します。
しかし、すべての人に Angular V1.5.X の使用を強制することはできません
。別の解決策はありますか?
別の解決策:
私は巨大なhtmlテンプレートを持っていて、それを1行の文字列にしたり、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();
}
}