一个模块中的 AngularJS 指令和另一个模块中的模板

Posted

技术标签:

【中文标题】一个模块中的 AngularJS 指令和另一个模块中的模板【英文标题】:AngularJS directive in one module and template in another 【发布时间】:2018-05-14 15:52:26 【问题描述】:

寻找一种在一个模块中创建抽象指令并将其模板加载到不同模块上的好方法的建议。

场景如下:我有一个网站分为两个(门户网站和后台),这是两个不同的部署。两者共享很多模块和布局,但功能不同。

我希望菜单指令和结构位于核心/公共模块上,但它的模板应该由模块加载,这样核心模块就不需要知道正在使用什么特定的部署!

我曾考虑在每个模块配置过程中使用 $templateCache,但有人知道更好的选择吗?

【问题讨论】:

【参考方案1】:

是的,将模板和应用程序的其余部分保存在不同的 JS 包中的唯一选择是 $templateCache。其他选项(指令继承或requireing 以及使用 Webpack 捆绑模板 html 文件)可能会导致整体捆绑。

AngularJS 中没有单独的模板单元,所以为了包含在模块中,模板应该用$templateCache.put 定义。

【讨论】:

非常感谢您的回复。我一直在使用 $templateCache 对其进行测试,它工作正常,即使它不理想,我也可以忍受它!将标记为已解决,因为那时替代方案似乎不那么可靠!

以上是关于一个模块中的 AngularJS 指令和另一个模块中的模板的主要内容,如果未能解决你的问题,请参考以下文章

require.js从不同的模块中使用AngularJS指令

Angularjs[12] - 模块

如何在模块化的angularjs范围内测试指令?

angularJS指令

angularjs在不同文件中为同一个模块定义服务

AngularJS,Node.js,节点模块“幻影”... 注入错误,angularjs 试图加载我的指令 + 后缀