问题标签 [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.
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.
javascript - 如何修复模板缓存中的模板路径?(gulp-angular-templatecache)
我正在使用gulp-angular-templatecache生成一个 templateCache.js 文件,该文件将我所有的 HTML 模板文件合并为 1。(我的完整 gulpfile)
将该新模块注入我的应用程序后,我的指令将自动获取模板,我不需要将部分 .html 文件添加到我的构建文件夹中。
问题是主要文件夹路径被切断,请参见下面的示例:
我的指令中的路径:
我生成的 templateCache 文件中的路径:
^panels
并且header
正在迷路。
我正在尝试编写一个可以在我的 Gulpfile 中修复该问题的函数。
我的Gulpfile的配置部分:
我的html-templates
gulp.task
^ 以上是有效的,因为它使用gulp-angular-templatecache中的root 选项在模板路径前面附加一个新字符串。
问题是我上面的代码返回一次并更新路径数组中第一项的所有路径,即beta/
.
您将如何编写它以正确替换每个文件的路径?
angularjs - 使用 ng-include 和 $templateCache 找不到文件
我有一个指令,我试图根据注入指令的对象动态加载不同的部分
我正在使用grunt-html2js
将所有要添加的 html 文件转换为$templateCache
. 我已经验证了 html 文件已添加到 中$templateCache
,但是当我加载页面时,很难仅找到函数.html
中引用的文件template
。
这是任何时间问题吗?有没有更好的方法来使用模板功能?
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 中获得了未定义的值。
我该如何解决这个问题?
angularjs - 离子框架中的模板缓存
我使用 ionic 框架来构建我的网站的移动版本(不是编译添加,而是 webapp)。问题是框架在第一个请求中加载(并且可能缓存)所有 html 模板。我想禁用它。我用了
并且,对于 stateProvider 中的每个状态:
但它什么也没解决。当我在浏览器中重置缓存时,第一个请求会加载所有模板。这怎么可能?谢谢你
angularjs - 角度指令将呈现的 html 存储在模板缓存中
背景故事
我有一个用例,我使用 angular 指令来构建一个相当强大的表单。编译后的指令将在多个地方使用,而不是多次渲染 html,我想要渲染的模板 html 并手动编译带有作用域的 html。
我通过手动编译加载指令来解决这个问题:
然后,此代码正确构造 mydirective 并根据需要将其呈现到页面。但是,理想情况下,我正在寻找一种无需将其附加到 DOM 即可获取 HTML 字符串或 DOM 节点的方法。然后我希望能够将 HTML 字符串存储在模板缓存中,或者将 DOM 节点转换为 HTML 字符串,然后将其存储在模板缓存中。
问题
如何从指令的(手动)编译中获取渲染的 DOM 节点或 HTML,以便可以将其存储在模板缓存中?理想情况下,无需将已编译的 HTML 附加到 DOM 即可完成。
jquery - Angularjs:在缓存的模板中按ID查找元素
我有几个 HTML 文件,我需要在这些 html 文件中提取给定元素的文本内容,并将其作为变量转换为 angular。
我决定使用 angular$templateRequest
来获取每个 HTML 文件,并将$templateCache
它们存储在缓存中。我希望通过这种方式我可以使用 Angular 或 jQuery/jQueryLite 选择器来访问这些缓存的模板并通过元素 ID 获取特定的元素内容。但是当谈到从给定的缓存模板中检索给定的元素文本时,我碰壁了。
angularjs - 在 $http.get() 之后动态更改指令的 templateURL
我正在研究在不同组件中加载 UI 的“骨架”。我有一个指令,我最初正在加载一个模板(这个模板的不透明度很低,看起来像一个模拟表)。一旦我得到我需要的数据,http.get()
然后我想更改templateUrl
指令的。以下是我到目前为止所尝试的。
我不确定我是否走在正确的轨道上。我可以逐步查看storeFactory
从我的factory
. 那么我该如何更改templateUrl
指令的?
angularjs - 如何从模板缓存中读取值?
我用 grunt 生成了一个缩小的角度应用程序。在站点中,我收到一个错误:
但是,当我查看缩小的 script.js 时,我可以看到:
如何解决此错误?为什么它对应用程序不可见?
javascript - 如何在 Jasmine 测试中使用我的 templateCache 模块?
我不想使用 karma-ng-html2js-preprocessor 或 $httpBackend。我有一个动态创建的 templateCache 模块。
应用程序.js
模板.js
和一个指令
日期时间选择器.js
问题是,当我编译指令时,我的测试似乎不想使用 templateCache。
测试.js
我得到:
当我运行测试时,我的控制台中的 $httpBackend 不会再有请求了。
任何帮助表示赞赏。谢谢