gpt4 book ai didi

AngularJS 模型

转载 作者:行者123 更新时间:2023-12-04 23:24:33 28 4
gpt4 key购买 nike

我正试图围绕 AngularJS。我很喜欢它,但一个核心概念似乎在逃避我——模型在哪里?

例如,如果我有一个显示多个交易列表的应用程序。一个列表向服务器查询匹配某些条件的分页事务集,另一个列表使用不同的条件,但可能有一些事务同时匹配两个条件并最终出现在两个列表中。现在:

  • 出现在两个列表中的事务应该是两个范围内的相同对象,对吗?这不是数据绑定(bind)的一大亮点吗,所以一个地方的更新会反射(reflect)在另一个地方?
  • 事务可能具有抽象原始服务器 API 请求的复杂行为,需要对服务器进行后续查询以收集更多数据,观察自己的变化并将自己标记为脏,所有这些都去哪里了?
  • 列表本身需要知道何时删除了事务,因此在一个列表中删除的同一事务将从另一个列表中消失。
  • 我们可能想以某种客户端存储方式缓存事务?

  • 那么问题又来了:这一切都去哪儿了?这一切都被塞进 $rootScope 并由 Controller 控制吗?委派服务?

    这里的任何方向,无论多么模糊,都会受到赞赏。

    最佳答案

    关于 Angular 的事情是它把模型留给你。您不必扩展某些内置对象以使其工作,它可以是您想要的任何对象。

    a) 是的,但就像我说的,这取决于你。如果您愿意,您甚至可以使用 Backbones 模型实现。

    b)可能在您的模型对象中。 Angular 提供了一个你可以使用的资源服务。您可以在这些资源上定义自己的方法,这是一个很好的起点。

    c)您是指 GUI 部分还是业务逻辑? Angular 为您处理 GUI。只需实现从列表中删除交易的功能,Angular 就会为您重新渲染它。

    d) 同样,这取决于您来实现或使用库。 Angular 主要是一个 GUI 框架,对您的模型/持久层几乎没有意见。

    对于你的最后一个问题;您会将大部分逻辑放在服务中。您的 Angular Controller 将被注入(inject)他们需要的服务,并通过范围向 View 公开功能。您应该尽可能避免将内容添加到根范围,因为它们在您的模板中基本上是全局的。

    关于AngularJS 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15045964/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com