2015-10-18 170 views
7

我需要一些指導來爲AngularJS中的任務採取最佳實踐。如何將數據從子控制器發送到AngularJS的父控制器?

任務:

  1. 的視圖中:我有一個父控制器和兩個子控制器。
  2. 子控制器使用自己的$範圍和對象。
  3. 當我按下保存在視圖中時,我需要從子控制器獲取數據到父控制器,以便準備將其發佈到服務器的對象。

我對這種方法的最佳解決方案感到困惑。

+1

請問您可以添加一些代碼..這將清除圖片.. –

+0

@Sajjad,如果您發現以下任何答案有幫助,請接受關閉該問題或詢問跟進問題 – user2954587

回答

0

有三種常見的方式來控制器之間的數據共享:在服務或工廠

1放置數據。由於它們是單,具有相同服務注入任何控制器能在$rootScope

3使用$broadcast$emit該服務內共享數據

2點將要發送的數據作用域之間的事件,並通過共享的數據作爲事件參數

1

有許多不同的方法來實現這一..

  1. 使用$ rootScope。
  2. 使用服務
  3. 使用廣播和散發
  4. 中聲明父控制器對象,然後修改子控制器相同的對象。

使用$ rootScope不是一個好方法,因爲$ rootScope變量在應用程序關閉時被銷燬。

我也不會推薦broadCast或發射,直到它是必需的。

服務,對於溝通黑白控制器很好,但是您再次注入並修改方法。

在你的場景中,我會建議使用公共的$ scope對象變量,這是在父級聲明並在子控制器中使用的,因爲所有方法都是在子控制器中繼承的。

相關問題