我试图绕着AngularJS.我很喜欢它,但核心概念似乎在逃避我 - 模型在哪里?
例如,如果我有一个应用程序,它会显示多个事务列表.一个列表向服务器查询匹配某些条件的分页事务集,另一个列表使用不同的条件,但可能有一些事务符合两个条件并最终在两个列表中.现在:
出现在两个列表中的事务应该是两个范围中的SAME对象,对吧?这不是数据绑定的重要组成部分,因此一个地方的更新将在另一个地方进行镜像吗?
事务可能有复杂的行为抽象原始服务器API请求,需要后续查询到服务器以收集更多数据,观察自己的更改并将自己标记为脏,所有这些都去了哪里?
列表本身需要知道何时删除了一个事务,因此在一个列表中删除的同一事务将从另一个列表中消失.
我们可能想要在某种客户端存储中缓存事务?
所以问题再次出现:这一切在哪里?这一切是否都在$ rootScope中被控制并由控制器控制?委托服务?
无论多么模糊,这里的任何方向都将受到赞赏.
关于Angular的事情是它让模型由你决定.您不必扩展一些内置对象以使其工作,它可以是您想要的任何对象.
a)是的,但就像我说的那样,这取决于你.如果您愿意,甚至可以使用Backbones模型实现.
b)可能在你的模型对象中.Angular提供您可以使用的资源服务.您可以在这些资源上定义自己的方法,这将是一个很好的起点.
c)您是指GUI部分还是业务逻辑?Angular为您处理GUI.只需实现从列表中删除事务的函数,Angular将为您重新呈现它.
d)同样,由您来实现或使用库.Angular主要是一个GUI框架,对您的模型/持久层的意见很少.
对于你的上一个问题; 你会将大部分逻辑放在服务中.您的Angular控制器将注入所需的服务,并通过范围向视图公开功能.您应该尽可能避免向根作用域添加内容,因为它们在模板中基本上是全局的.
| 归档时间: |
|
| 查看次数: |
1203 次 |
| 最近记录: |