AngularJS指令之$templateCache

半兽人 发表于: 2018-10-02   最后更新时间: 2020-06-28 13:38:38  

当我们编写的模板,不仅仅在一个指令中使用,也需要在其他的指令中使用,我们希望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也可以实现此功能。



您需要解锁本帖隐藏内容请: 点击这里
本帖隐藏的内容


上一条: AngularJS之指令
下一条: AngularJS指令之replace和transclude