javascript – 使Angular JS脱机工作

我正在开发一个页面应用程序,在AngularJS的帮助下,我是新手
我之前问了同样的问题,但没有得到任何答案,所以我正在重述我的问题然后再问一遍

问题:
我需要做的是让我的Web应用程序启用脱机工作,为此目的,呈现为视图的html文件(例如home.html)应该以某种方式包含在index.html中,所以当点击一些链接时应该没有必要访问html文件而不是同一页面的一部分,例如潜水将被渲染,我应该对项目进行哪些修改才能完成

目前我制作了不同的html文件,并在渲染视图时将它们用作模板,
app的结构是这样的:

- index.html          
   - pages              
    ----- home.html
    ----- profile.html

这是配置路由和控制器和视图的代码

var formApp = angular.module('formApp',['ngRoute']);

  formApp.config(function($routeProvider) {
    $routeProvider
       .when('/',{
           templateUrl : 'main',controller  : 'mainController'
        })
    .when('/profile',{
        templateUrl : 'profile',controller  : 'profileController'
    })
  });

而且我的main.html文件就是这样的:

<div class="jumbotron text-center">
     <h1>Main Page</h1>

     <p>{{ message }}</p>
  </div>

我在index.html的某个地方

<div ng-view>
              {{ message }}
          </div>

代码工作正常,此刻一切都很好

解决方法

要使应用程序脱机工作,必须使用html5缓存清单缓存每个文件.甚至.html文件,图像,CSS,一切……

本机“旧”缓存在这里不起作用,因为它仍然需要与服务器通信以具有“304 Not Modified”http代码.

清单删除此步骤,甚至不向服务器请求资源.

示例清单:

CACHE MANIFEST
/angular.js
/index.html
/page/home.html
/page/profile.html
NETWORK: 
*

如何包含和使用缓存清单检查:http://www.w3schools.com/html/html5_app_cache.asp

用于调试:

清除chrome下的应用缓存,输入url“chrome:// appcache-internals /”

编辑:由于评论主题

您可以将它们包含在index.html中,而不是将HTML代码放在许多自己的html文件中:

<script type="text/ng-template" id="one.html">
     <div>This is first template</div>
</script>

然后你的templateURL是没有子路径的“one.html”.

检查文档:https://docs.angularjs.org/api/ng/directive/script

暗示:

你不需要在那里放置任何路径.在渲染阶段,angularjs会将$templateCache中的每个html文件存储在这些脚本元素中的id下.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...