我製作了2個控制器,一個用於實際頁面,另一個用於成功模式。我甚至從模態控制器播放,甚至在頁面控制器中收聽。我使用'this'來引用scope變量的當前實例。但是在$ on監聽器中,每當我嘗試使用scope變量時,都會發現它爲空,並且由於此原因,我無法修改頁面控制器變量。
在頁面控制器:
$rootScope.$on('backToFetch', function() {
for(var i=0; i < this.fetchUploader.documentData.length; i++) {
this.fetchUploader.documentData[i].isSuccess = false;
this.fetchUploader.progress = 0;
}
deleteFormFields()
});
在模態控制器:
我怎樣才能獲得範圍變量$內部監聽
什麼範圍?在應用程序中可能有大量的作用域 – Dalorzo
爲什麼使用'this'而不是'$ scope'如果這就是你想要實現的目標? –
通常你會發送數據到你的事件。因此'$ rootScope。$ broadcast('backToFetch','一些額外的數據');'並且在你的處理程序接收到這個數據:'$ rootScope。$ on('backToFetch',function(e,data){});''數據可以是任何東西。你的控制器之間還有什麼層次,你可能不需要污染'$ rootScope'。 – ste2425