【问题标题】:How does angular know where ng-include file is located?角度如何知道 ng-include 文件的位置?
【发布时间】:2014-12-04 18:44:26
【问题描述】:

我正在看这个sample Angular App

在名为[index.html][2] 的主html 文件中,有这一行:

<div ng-include="'header.tpl.html'"></div>

但是,同一目录下没有文件header.tpl.html

那么 Angular 是如何知道在哪里找到这个文件的呢?

【问题讨论】:

    标签: angularjs node.js gruntjs angularjs-ng-include


    【解决方案1】:

    链接的示例应用程序是使用Grunt 构建的,因此构建的应用程序的文件/文件夹结构与您在存储库中看到的不同。

    例如,您询问的模板由html2js(Grunt 任务)收集并编译成一个 JavaScript 文件,其中包含将所有模板添加到 $templateCache 的代码(导致它们全部包含在应用程序初始化中而不是在需要时延迟加载)。当ng-include 开始查找文件时,它的第一步是查看$templateCache。只有当它在那里找不到模板时,它才会尝试从服务器加载它(并将其保存到$templateCache 以供后续使用)。

    有关构建过程的详细信息,请参阅存储库中的 Gruntfile.js

    【讨论】:

    • 啊……这就解释了。谢谢!
    • 我正在等待被允许这样做(需要等待 10 分钟左右)
    猜你喜欢
    • 2016-08-07
    • 2014-01-17
    • 2015-02-23
    • 2016-11-24
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多