AngularJS指令之$templateCache

半兽人 发表于: 2018-10-02   最后更新时间: 2020-06-28 13:38:38  
{{totalSubscript}} 订阅, 3,771 游览

当我们编写的模板,不仅仅在一个指令中使用,也需要在其他的指令中使用,我们希望AngularJS帮我们把它给缓存起来.就可以使用$templateCache了。先看代码:

//注射器加载完所有模块时,此方法执行一次
myModule.run(function($templateCache){
    $templateCache.put("hello.html","<div>Hello everyone!!!!!!</div>");
});

myModule.directive("hello", function($templateCache) {
    return {
        restrict: 'AECM',
        template: $templateCache.get("hello.html"),
        replace: true
    }
}

在线运行

run方法解释

当我们的注射器,加载完了所有的模块之后,run方法将会被执行一次。

总结

  1. 使用$templateCache.put把模板缓存起来
  2. 其他指令使用$templateCache.get就可以获取到了。

通过这种方式,就可以把模板缓存起来,被多个指令使用它。nginclude也可以实现此功能。

更新于 2020-06-28

查看AngularJS更多相关的文章或提一个关于AngularJS的问题,也可以与我们一起分享文章