javascript - 具有多个 Controller 的 Angular 共享模型

标签 javascript angularjs

我是 Angular 的新手,正在尝试理清我的概念:

我的应用程序需要一个模型,该模型将由不同的 Controller 更新。因此,模型应该共享。以下链接清楚地解释了我应该如何进行

http://www.webdeveasy.com/angularjs-data-model/

它使用工厂方法创建了两个服务。管理器服务检查模型类是否已经实例化。如果是,它返回一个已经实例化的引用,否则它是 new's 一个实例。因此,每个模型都会看到相同的模型实例,并且在更新模型时,所有 View 都会发生更新。

如果不是使用 factory 创建服务,而是使用自动返回 new'd 实例的 service 方法创建服务,会不会共享或绑定(bind)到 Controller 。

我假设我的案例无法使用 service 方法实现,我必须使用 factory 方法而不是 service 方法,因为它是 new 的 每次将服务注入(inject)任何 Controller 时。 Angular 是否在内部维护一些池以确保在所有 Controller 中注入(inject)相同的服务实例。

我不想为模型添加额外的管理器对象来确保在所有 Controller 中使用相同的实例

最佳答案

就您的情况而言,可以使用服务和工厂,因为它们在功能上本质上是相似的。

根据我的理解,您想要一个单一的新闻实体,根据单例设计模式在所有 Controller 之间共享,确保一次更新 -> 全部更新。这可以使用 Angular 服务完美实现。

我自己发现使用服务比工厂方法更容易,因为前者的语法易于使用 :D

此外,要进一步了解这两种方法之间的差异,您可以查看 this回答

enter image description here

关于javascript - 具有多个 Controller 的 Angular 共享模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30365436/

相关文章:

鼠标悬停时 Javascript 淡入文本

javascript - 如何隐藏和显示 map 在 angular 1.x 中使用 angularjs-google-maps

angularjs - Angular.js。复选框的Ng模型

javascript - 如何在 Ionic 中制作开/关按钮并执行功能?

javascript - 在 AngularJS 中处理复杂的 JSON

javascript - Protractor E2E测试错误: Object [object Object] has no method 'getWindowHandle'

java - JSP页面仅在IE浏览器中出现错误

javascript - Angular 管 : Cannot replace/n

javascript - 如何使图像适合板内

javascript - apply 在这里做什么?