AngularJS预加载页面(离线模式)

时间:2018-07-01 21:13:29

标签: angularjs

我想在AngularJS中预加载模板(使用ng-route),以便在主页上加载所有必需的元素后,可以下载应用程序的某些子页面,以便用户失去了连接,他仍然可以继续该页面,而无需连接互联网。

我试图在页面上进行不同的异步调用,但是我什么也没得到。

我希望这很清楚

1 个答案:

答案 0 :(得分:0)

有两种方法:

第一个是使用Ajax调用并获取您网站的HTML,然后将其自己加载到模板Cache中:

$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加载控制器文件