2016-10-06 11 views
1

我使用AngularJS 1.5和使用「$發出」將事件發送到父控制器刷新父控制器的數據。關於'$ On'我已經編寫了刷新父控制器數據的邏輯。

現在,家長控制數據被更新,但之後,它無法將數據綁定從這裏「$發出」觸發子控制器。

我試圖用「$申請」,但它是說,「$消化」已在進行中。我也使用Batrang工具查看數據,並且顯示的頁面包含所有這些數據,但不會顯示在UI上。

誰能告訴我怎麼給力的角度來綁定HTML控制那些數據,已經可以在頁面上。

我不能把示例代碼放在這裏,因爲它是一個活動項目&我將不得不創建一個示例項目來複制問題。即使如果沒有示例代碼來回答我的查詢並不容易,那麼我會在一天內將示例代碼放在Plunker上。

回答

0

基於角文檔,有兩種方法在HTML聲明控制器:

一個直接結合的方法和屬性到使用ng-controller="SettingsController1 as settings"

一個噴射$scope到控制器,所述控制器:ng-controller="SettingsController2"

第二種選擇是在角社區更常見的,並且是 通常在boilerplates和本指南中使用。但是,有直接綁定到控制器的屬性和 避免範圍的優點。

使用controller as可以很明顯地知道哪個控制器是 當多個控制器應用於 元素時將訪問模板。如果你正在寫你的控制器如類必須 的屬性和方法,這將出現在 範圍,從控制器代碼中更容易獲得。因爲總有一個.在 綁定,您不必擔心原型繼承 掩蔽元

所以,你總是可以參考父範圍,子範圍,通過使用controller as

<div ng-controller="parentController as parent"> 
    <span>{{parent.title}}</span> 
    <div ng-controller="childController as child"> 
     <span>{{parent.title}}</span> 
     <span>{{child.title}}</span> 
    </div> 
</div> 
+0

嗨MarKoSen,感謝您的回答,但我沒有任何問題,在調用方法。我已經使用$發射工作正常,並更新父數據,然後我調用方法來更新子數據。 即使子數據正在DOM中加載,但它不會顯示在UI上。 所以我的主要查詢是如何顯示那些已經在DOM中可用的UI數據。 –

相關問題