7

レールでAngular uiブートストラップのカスタムテンプレートを使用するにはどうすればよいですか?

つまりpagination、たとえば使用すると、templates/pagination/pagination.htmlテンプレートが検索されます。

問題は、レールがそのパスでテンプレートを提供しないことです。実際にはヘルパーassets/templates/pagination/pagination.htmlを使用する必要があります。<%= asset_path(....) %>

angular ui ブートストラップ javascript ファイルをハッキングするのも 1 つの方法ですが、新しいバージョンを入手するたびにハッキングする気はありません。

4

2 に答える 2

5

私がお勧めするのは、カスタム テンプレートをライブラリ自体または別のファイルにバンドルすることです。使用する手法$templateCacheは、カスタム テンプレートのコンテンツを入力することです。tamplate と共に配布されているファイルの 1 つを見て、私が何を意味するかを確認してください。

https://github.com/angular-ui/bootstrap/blob/gh-pages/ui-bootstrap-tpls-0.3.0.js#L2042

ビルド プロセスの一部としてテンプレートを にバンドルする$templateCacheか、このファイルを手動で準備できます (この場合、テンプレートを JS 文字列として記述する必要があります)。

ディレクティブごとに XHR を介して個々のテンプレートをダウンロードすると、多くの XHR リクエストが発生し、アプリケーションの速度が低下するため、無駄になります。また、テンプレートを にプリロードする$templateCache場合は、必要なパスを指定できます。これは、WWW サーバー上の有効なパスである必要はありません。

于 2013-06-06T16:18:29.863 に答える
0

私はbowerを使用してjsライブラリを管理しています。したがって、vendor/assets/javascripts/フォルダーにこれらのファイルがあります: angular-ui/bootstrap-bower

これらのファイルを使用すると、JavaScript マニフェスト ファイル (通常は application.js) でそれらを要求するだけで済みます。

//= require angular-bootstrap/ui-bootstrap
//= require angular-bootstrap/ui-bootstrap-tpls

デフォルトの組み込みテンプレートを使用する場合は、テンプレートを指定する必要はありません。

この解決策は、次の URL Ref: angular-ui-bootstrap-directive-template-missing にあります。

于 2013-07-21T05:02:07.353 に答える