0

我正在考虑将 AngularJS 用于即将到来的项目,但我很难理解视图/路由,特别是对于只有一页的应用程序。

该页面由一个表单或向导组成,但是我希望在初始页面加载时加载所有数据(并存储在本地存储中)。这也适用于表单元素 - 不能向服务器发出额外的请求,例如 HTML 模板(表单末尾的提交操作除外)。该应用程序将离线使用,因此单个页面需要缓存所有必需的信息并处理 UI 转换而无需重新加载。

AngularJS 是否适合这样的应用程序?如果是这样,我如何在没有额外请求的情况下完成更改视图所需的路由 - ng-view 和 routeProvider 可以在单个 html 页面中使用 div 吗?这是 ui-routes 的情况吗?

4

1 回答 1

1

我还没有实现这样的网站,但我相信这些是稍微正交的问题。AngularJS 解决了业务逻辑 (MVC) 污染视图的问题,它还为您提供了创建单例服务的方法。此外,它允许您使用指令扩展 HTML 的词汇表来定义复合 DOM 元素或行为。我认为所有这些元素都有助于创建通过模型和控制器松散耦合的用户界面,以查看检索和存储在服务中的数据。

在某些浏览器中为响应 HTML5 规范中的定义而实现的本地存储 API 使您能够在本地保存数据并确定何时发生在线-离线更改,此页面http://www.html5rocks 对此进行了深入介绍。 com/en/tutorials/offline/whats-offline/

总而言之,我认为 AngularJS 是构建丰富客户端体验并将模型与视图和控制器解耦的理想候选者(因此为您提供了与应用程序本身分开保存的部分)。所有这一切,我不知道 Angular 内置了任何机制来帮助使这更容易,但如果你谷歌一下 localStorage 和 AngularJS,肯定会有一些关于它的讨论和可用的代码:angularjs 和 localStorage 更改事件

于 2013-06-30T22:54:22.057 回答