首页 > 解决方案 > AngularJS 预加载页面(离线模式)

问题描述

我想在 AngularJS 中预加载模板(使用 ng-route),这样当我在主页上时,加载所有必需的元素后,我可以下载我的应用程序的一些子页面,以便在用户丢失连接时,他仍然可以在没有互联网连接的情况下访问该页面。

我试图在我的页面上进行不同的异步调用,但我无处可去。

我希望这很清楚

标签: angularjs

解决方案


有两种方法:

第一个是使用 Ajax 调用并获取站点的 HTML 并自行将其加载到模板缓存中:

$http.get('./template.en.html').then(function (result) { 
    //put template into cache
    $templateCache.put('myTemplateName', result.data);
});

第二种是使用 OcLazyLoad:

$ocLazyLoad.load([
  'path/to/template.html'
]);

但是使用这种方法,您的模板文件需要如下所示:

<script type="text/ng-template" id="myTemplateName">
  Content of the template.
</script>

您也可以使用 ocLazyLoad 加载控制器文件


推荐阅读