如何将数据从子控制器发送到AngularJS的父控制器?

如何将数据从子控制器发送到AngularJS的父控制器?

问题描述:

我需要一些指导来为AngularJS中的任务采取最佳实践。如何将数据从子控制器发送到AngularJS的父控制器?

任务:

  1. 的视图中:我有一个父控制器和两个子控制器。
  2. 子控制器使用自己的$范围和对象。
  3. 当我按下保存在视图中时,我需要从子控制器获取数据到父控制器,以便准备将其发布到服务器的对象。

我对这种方法的最佳解决方案感到困惑。

+1

请问您可以添加一些代码..这将清除图片.. –

+0

@Sajjad,如果您发现以下任何答案有帮助,请接受关闭该问题或询问跟进问题 – user2954587

控制器之间共享数据的常用方法是使用使用service

你也可以broadcast更新父控制器

有三种常见的方式来控制器之间的数据共享:在服务或工厂

1放置数据。由于它们是单,具有相同服务注入任何控制器能在$rootScope

3使用$broadcast$emit该服务内共享数据

2点将要发送的数据作用域之间的事件,并通过共享的数据作为事件参数

有许多不同的方法来实现这一..

  1. 使用$ rootScope。
  2. 使用服务
  3. 使用广播和散发
  4. 中声明父控制器对象,然后修改子控制器相同的对象。

使用$ rootScope不是一个好方法,因为$ rootScope变量在应用程序关闭时被销毁。

我也不会推荐broadCast或发射,直到它是必需的。

服务,对于沟通黑白控制器很好,但是您再次注入并修改方法。

在你的场景中,我会建议使用公共的$ scope对象变量,这是在父级声明并在子控制器中使用的,因为所有方法都是在子控制器中继承的。