7

如何在rails中使用angular ui bootstrap的自定义模板?

我的意思是,如果我使用pagination例如它会寻找一个templates/pagination/pagination.html模板。

问题是 rails 不会在该路径中提供模板,它实际上需要assets/templates/pagination/pagination.html使用<%= asset_path(....) %>帮助程序。

破解 angular ui bootstrap javascript 文件是一种方法,但我不想每次获得新版本时都破解它。

4

2 回答 2

5

我建议将自定义模板与库本身或单独的文件捆绑在一起。使用的技术是填写$templateCache自定义模板的内容。查看随模板分发的文件之一,了解我的意思:

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 参考中找到了这个解决方案:angular-ui-bootstrap-directive-template-missing

于 2013-07-21T05:02:07.353 回答