如何访问Angular应用程序's$templateCache来自全局范围

How to access an Angular app' s $templateCache from global scope?

本文关键字:templateCache 范围 全局 何访问 访问 应用程序 Angular      更新时间:2023-09-26

我想在不同的js-lib之间共享缓存的模板字符串,并且需要为Angular应用程序调用$templateCache.get("TEMPLATE.HTML")。Angular应用程序在公共JavaScript范围内可用。

有人能给我指正确的方向吗?

您可以通过$injector服务访问任何服务:

var $templateCache = angular.element(document.documentElement).injector().get('$templateCache');
var html = $templateCache.get("TEMPLATE.HTML");

注:angular.element应提供注册angular app的元素。在上面的例子中,它是html标记,而document.documentElement指向HTML节点。