angularjs - AngularJS 预加载页面(离线模式)
问题描述
我想在 AngularJS 中预加载模板(使用 ng-route),这样当我在主页上时,加载所有必需的元素后,我可以下载我的应用程序的一些子页面,以便在用户丢失连接时,他仍然可以在没有互联网连接的情况下访问该页面。
我试图在我的页面上进行不同的异步调用,但我无处可去。
我希望这很清楚
解决方案
有两种方法:
第一个是使用 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 加载控制器文件
推荐阅读
- java - Java Servlet list.remove 不起作用
- javascript - 用于文本输入值的 React Native 单元
- qt - Qt:死锁的 QMessageBox 不会出现在信号处理中
- ios - 需要选定的 tableview 行才能继续与定义的用户聊天
- c# - 将 CellTemplate 应用于绑定到动态 DataTable 的 DataGrid
- javascript - 在带有 setState 的 React 类组件中使用箭头函数的最佳实践
- c# - Cef - 上传文件而不显示 OpenFileDialog
- javascript - 直接导航到单页节点应用程序中的 URL 导致 404
- google-assistant-sdk - 500. 这是一个错误。当我一开始就向服务器验证 Google Assistant SDK 时
- python - 使用 Python 装饰器跟踪递归深度