Angular模板相对于什么?

时间:2014-06-03 16:46:46

标签: angularjs templates

我正在使用Angular的ui.bootstrap。我的结构如下所示。我有另一个ui-bootstrap模板的文件夹,我无法确定在哪里放置以便ui-bootstrap看到它因为我一直得到错误" [$ compile:tpload]失败加载模板"

app
--> template
----> index.html
----> ...
--> js
----> modules.js
----> ...
--> lib
----> angular
------> ui-bootstrap-tpls-0.9.0.js
------> angular.js

编辑:我在这里https://groups.google.com/forum/#!topic/angular/IFn3L6Tz4oc看到我不应该在ui-bootstrap项目中包含它的模板/ *文件夹。它已经在第3351行开始的ui-bootstrap-tpls-0.9.0.js文件中了。但是,即使它看到了typeahead模块,我的应用也没有看到它。

编辑:好的,这是我的愚蠢。我在之前的一些工作中在我的模块底部包含了一个$ templateCache.removeAll()。摆脱它解决了这个问题。

1 个答案:

答案 0 :(得分:2)

要回答您的问题 - 这些模板是相对于Web服务器上Web应用程序的根目录或base标记中定义的值。

上面说过你可能包含来自angular-ui / bootstrap的错误文件,因为通常你会使用捆绑在一起的模板的文件(类似ui-bootstrap-tpls-[version].js。从你包含的文件结构中它看起来就像你包括正确的文件一样,所以请确保你只包含一个来自发行版的文件。更多信息请点击此处:https://github.com/angular-ui/bootstrap/tree/gh-pages#build-files

实际包含模板文件的唯一正当理由是您要覆盖默认模板。但即使在这种情况下,您也应该将指令模板与您的java脚本代码捆绑在一起,因为加载许多小模板会损害性能。有关覆盖模板的更多信息,请访问:https://github.com/angular-ui/bootstrap#customize-templates

希望上述内容有助于解决您的问题,如果不使用http://plnkr.co/发布重现方案