/ / AngularJSカスタムディレクティブ内にデフォルトのテンプレートを提供

AngularJSのカスタムディレクティブ - angularjs、angularjs-ディレクティブ内にデフォルトのテンプレートを提供する

AngularJSでカスタムディレクティブを更新しようとしています。現在はコード内で(template:属性を使用して)固定テンプレートが指定されています。

代わりにtemplateUrl:属性を使用して、ユーザーが独自のテンプレートをオプションで提供できるようにしたいです。

私の問題はどのようにフォールバックを提供するかです - 私は同じディレクティブでtemplateとtemplateUrlの両方を使用することはできません。これは後方互換性を可能にするために必要です。

私は "templateUrl"の関数を使ってみましたが、HTMLを返すのはランナーではありません。

その他の提案はありますか?

回答:

回答№1は0

あなたがtemplateUrlの中でfunctionを使うならば、「テンプレート識別子」を提供すると仮定するAngularは最初にテンプレートキャッシュを調べ、見つからない場合は同じURLのリソースに対して非同期の要求を実行しようとします。

ですから、あなたは単にあなたのデフォルトテンプレートをファイルに入れて、その識別子をデフォルトとして返すことができます。

ところで、templateUrlとhtmlを別々のファイルで使用している場合は、必ず次のようなツールを使用してください。 https://www.npmjs.com/package/ng-html2js ビルドプロセスで。