AngularJSでカスタムディレクティブを更新しようとしています。現在はコード内で(template:属性を使用して)固定テンプレートが指定されています。
代わりにtemplateUrl:属性を使用して、ユーザーが独自のテンプレートをオプションで提供できるようにしたいです。
私の問題はどのようにフォールバックを提供するかです - 私は同じディレクティブでtemplateとtemplateUrlの両方を使用することはできません。これは後方互換性を可能にするために必要です。
私は "templateUrl"の関数を使ってみましたが、HTMLを返すのはランナーではありません。
その他の提案はありますか?
回答:
回答№1は0あなたがtemplateUrlの中でfunctionを使うならば、「テンプレート識別子」を提供すると仮定するAngularは最初にテンプレートキャッシュを調べ、見つからない場合は同じURLのリソースに対して非同期の要求を実行しようとします。
ですから、あなたは単にあなたのデフォルトテンプレートをファイルに入れて、その識別子をデフォルトとして返すことができます。
ところで、templateUrlとhtmlを別々のファイルで使用している場合は、必ず次のようなツールを使用してください。 https://www.npmjs.com/package/ng-html2js ビルドプロセスで。