繁体   English   中英

Angular.js:模板和视图之间的数据处理

[英]Angular.js: templates and handling data between views

我正在尝试掌握与下一个问题相关的主要原则:

  • 范本
  • 数据处理
  • $ resource vs $ http

如我所见,我想在我的应用程序中实现几个视图,这些视图共享几个html模板,还共享一些数据。 为了简化我的问题,我将描述几乎相同的情况。 在此处输入图片说明

如您所见,有2个视图(尽管还会有更多!)使用3个html标记,而两个视图中的其中一个共享(GeneralInfo)。 同样,两个视图共享使用一个视图控制器之一通常将创建的数据。

  1. 应该使用什么角度原理来确保在更改路线时可以在视图之间共享数据。
    • 我应该使用app.value('myVal',..)这是全局变量吗?
    • 我是否应该将其像服务一样传递给所有控制器?
  2. 从技术上讲,我应该如何在两个视图中实现相同的html? 你能举个例子吗?
    • 具有标记的视图应如何包含2个模板以及如何以及何时呈现?
  3. $ resource和$ http有什么区别?何时使用每个shouold?

1)应该使用服务在控制器之间共享数据。 从技术上讲,您可以在$ rootScope上附加值,并且该值将在控制器上可见,但是这被认为是错误的形式,并且以后可能会引起问题(例如使用全局变量,如果有人不小心附加了一个项目,随着项目的发展,肯定会产生意外的副作用价值冲突)。

2)不确定您要问的是什么。 您可以基于给定的路由/状态(使用ngRoute或ui-router)加载部分。 两条不同的路线可以使用相同的generalInfo.html部分,但是在各自的控制器中提取了不同的数据。 这就是你要问的吗?

3)$ resource是$ http的抽象-如果您要从REST服务器提取数据,则$ resource可能更合适,因为它抽象了一些必要的连线。 但是,如果服务器与传统REST原理的差异太大,或者如果它根本不是REST,则您可能只想直接使用$ http进行数据访问。 当然,如果它是REST且较复杂,则还应考虑使用矩形-这是功能更丰富的抽象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM