我是Angular的新手并试图清除我的概念:
我的应用需要一个型号,由不同的控制器更新。因此,应该共享模型。以下链接清楚地解释了我应该如何处理它
http://www.webdeveasy.com/angularjs-data-model/
它使用工厂方法创建两个服务。管理器服务检查模型类是否已经实例化。如果是,则返回已经实例化的引用,否则它new's
一个实例。因此,每个模型都会看到相同的模型实例,并且在所有视图中都会更新模型更新。
如果不是使用factory
创建服务,而是使用service
方法创建服务,该方法自动返回new'd
实例,将共享或绑定到控制器。
我认为使用service
方法无法实现我的案例,我必须使用factory
方法代替service
方法,因为new's
每次将服务注入任何服务时{{1}}控制器。 angular不会在内部维护某个池,以确保在所有控制器中注入相同的服务实例。
我不希望模型的其他管理器对象确保在所有控制器中使用相同的实例
答案 0 :(得分:4)
就您的情况而言,可以使用服务和工厂,因为它们在功能上基本相似。
根据我的理解,您希望按照单身设计模式在所有控制器之间共享一个新闻实体,确保一次更新 - >全部更新。这可以使用Angular Services完美实现。
我自己发现使用服务比工厂方法更容易,因为前者有一个易于使用的语法:D
另外,为了更好地理解两种方法之间的差异,您可以查看this答案