问题标签 [angular-templatecache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
640 浏览

javascript - Inject inline templates into $templateCache for Jasmine tests

If all of my templates are in my index.html, with each inside its own <script type="text/ng-template" id="foo">...</script> block, how can I get them into the $templatecache so that Jasmine knows they exist?

Currently, Jasmine treats all of my templateUrl values as if they were all remote paths. I have looked through karma-ng-html2js-preprocessor, but it appears that this is for getting discrete template files into $templatecache, rather than script blocks.

Here is a plunker showing how the inline templates are loaded.

0 投票
3 回答
15955 浏览

javascript - 如何修复模板缓存中的模板路径?(gulp-angular-templatecache)

我正在使用gulp-angular-templatecache生成一个 templateCache.js 文件,该文件将我所有的 HTML 模板文件合并为 1。(我的完整 gulpfile

将该新模块注入我的应用程序后,我的指令将自动获取模板,我不需要将部分 .html 文件添加到我的构建文件夹中。

问题是主要文件夹路径被切断,请参见下面的示例:

我的指令中的路径:

我生成的 templateCache 文件中的路径:

^panels并且header正在迷路。

在此处输入图像描述


我正在尝试编写一个可以在我的 Gulpfile 中修复该问题的函数。

我的Gulpfile的配置部分:

我的html-templatesgulp.task

^ 以上是有效的,因为它使用gulp-angular-templatecache中的root 选项在模板路径前面附加一个新字符串。

问题是我上面的代码返回一次并更新路径数组中第一项的所有路径,即beta/.

您将如何编写它以正确替换每个文件的路径?

0 投票
1 回答
1627 浏览

angularjs - 使用 ng-include 和 $templateCache 找不到文件

我有一个指令,我试图根据注入指令的对象动态加载不同的部分

我正在使用grunt-html2js将所有要添加的 html 文件转换为$templateCache. 我已经验证了 html 文件已添加到 中$templateCache,但是当我加载页面时,很难仅找到函数.html中引用的文件template

这是任何时间问题吗?有没有更好的方法来使用模板功能?

0 投票
2 回答
1237 浏览

angularjs - 如何在 app.config 中创建路由之前加载 $templateCache?

在我的 AngularJS 应用程序中,我正在尝试使用 grunt 和以下插件创建构建。

  • grunt-contrib-clean
  • grunt-contrib-requirejs
  • 咕噜角模板
  • 咕噜角复制

我能够使用所有 Javascript 代码(控制器等)成功创建 main.js 文件,并且还能够使用 ngtemplates 将部分附加到 main.js。

GruntFile.js

在 routes.js 我有

grunt-contrib-requirejs 在 build/main.js 文件末尾注入的引导代码。

现在的问题是,main.js 在底部附加了引导代码。它将模板放入 $templateCache。但是当应用程序加载时,它首先运行配置代码,然后调用 app.run()。这是显而易见的。因此,$templateCache.get() 在 routes.js 中获得了未定义的值。

我该如何解决这个问题?

0 投票
1 回答
1088 浏览

angularjs - 离子框架中的模板缓存

我使用 ionic 框架来构建我的网站的移动版本(不是编译添加,而是 webapp)。问题是框​​架在第一个请求中加载(并且可能缓存)所有 html 模板。我想禁用它。我用了

并且,对于 stateProvider 中的每个状态:

但它什么也没解决。当我在浏览器中重置缓存时,第一个请求会加载所有模板。这怎么可能?谢谢你

0 投票
0 回答
760 浏览

angularjs - 角度指令将呈现的 html 存储在模板缓存中

背景故事

我有一个用例,我使用 angular 指令来构建一个相当强大的表单。编译后的指令将在多个地方使用,而不是多次渲染 html,我想要渲染的模板 html 并手动编译带有作用域的 html。

我通过手动编译加载指令来解决这个问题:

然后,此代码正确构造 mydirective 并根据需要将其呈现到页面。但是,理想情况下,我正在寻找一种无需将其附加到 DOM 即可获取 HTML 字符串或 DOM 节点的方法。然后我希望能够将 HTML 字符串存储在模板缓存中,或者将 DOM 节点转换为 HTML 字符串,然后将其存储在模板缓存中。

问题

如何从指令的(手动)编译中获取渲染的 DOM 节点或 HTML,以便可以将其存储在模板缓存中?理想情况下,无需将已编译的 HTML 附加到 DOM 即可完成。

0 投票
1 回答
380 浏览

jquery - Angularjs:在缓存的模板中按ID查找元素

我有几个 HTML 文件,我需要在这些 html 文件中提取给定元素的文本内容,并将其作为变量转换为 angular。

我决定使用 angular$templateRequest来获取每个 HTML 文件,并将$templateCache它们存储在缓存中。我希望通过这种方式我可以使用 Angular 或 jQuery/jQueryLite 选择器来访问这些缓存的模板并通过元素 ID 获取特定的元素内容。但是当谈到从给定的缓存模板中检索给定的元素文本时,我碰壁了。

0 投票
2 回答
515 浏览

angularjs - 在 $http.get() 之后动态更改指令的 templateURL

我正在研究在不同组件中加载 UI 的“骨架”。我有一个指令,我最初正在加载一个模板(这个模板的不透明度很低,看起来像一个模拟表)。一旦我得到我需要的数据,http.get()然后我想更改templateUrl指令的。以下是我到目前为止所尝试的。

我不确定我是否走在正确的轨道上。我可以逐步查看storeFactory从我的factory. 那么我该如何更改templateUrl指令的?

0 投票
0 回答
73 浏览

angularjs - 如何从模板缓存中读取值?

我用 grunt 生成了一个缩小的角度应用程序。在站点中,我收到一个错误:

但是,当我查看缩小的 script.js 时,我可以看到:

如何解决此错误?为什么它对应用程序不可见?

0 投票
3 回答
1815 浏览

javascript - 如何在 Jasmine 测试中使用我的 templateCache 模块?

我不想使用 karma-ng-html2js-preprocessor 或 $httpBackend。我有一个动态创建的 templateCache 模块。

应用程序.js

模板.js

和一个指令

日期时间选择器.js

问题是,当我编译指令时,我的测试似乎不想使用 templateCache。

测试.js

我得到:

当我运行测试时,我的控制台中的 $httpBackend 不会再有请求了。

任何帮助表示赞赏。谢谢