angular.js - $rootscope對應的controller在哪裡?可以用什麼方法取得?
给我你的怀抱
给我你的怀抱 2017-05-15 17:06:32
0
2
679

在網路上看到很多都在講,每個$scope都有對應controller,那麼$rootscope的controller在哪裡呢?是ng-app屬性所在標籤裡的ng-controller,如果ng-app所在標籤沒有ng-controller,對應的controller該怎麼表示?

给我你的怀抱
给我你的怀抱

全部回覆(2)
伊谢尔伦

首先用某上海市長回覆香港記者的一句話做回答:"沒有聽過"
這個說法不夠清楚,這個controller究竟指的是什麼?如果是ngController這個指令的話,這句話就明顯本末倒置。是ngController這個指令創建了一個新的scope。 如果是指指令中的controller函數,則明顯更不對了,很多指令根本沒有controller函數。

所以,此處你最好貼出持有這種觀點的網址。 。 。
另外,ngApp對應根作用域即 $rootscope,本人可能學的比較淺,還不知道其對應的controller,還希望其他大神指正

仅有的幸福

我覺得這樣理解比較容易:
控制器-controller 只是一種封裝…是AngularJS設計模式的一種定義,僅此而已。不存在什麼對應關係。

我們透過ng-controller指令來建立一個控制器。
我們也可以透過$controller服務來建立一個控制器。
控制器透過AngularJS的另一個設計模式-依賴注入 來使用更多服務。如$scope。而你完全可以不注入$scope……但為什麼一定要使用$scope? 因為你可以將$scope理解為頁面與數據的高速通道,或者橋樑,或者連接,或者粘合劑…… 也就是控制器中定義的所有東西,想要反應到頁面上,就必須通過$scope
例如

controller:
$scope.text = "hello world!";

view: 
{{ text }}

因此,不存在什麼控制器和$scope作用域有對應關係。他倆沒什麼關係。就好像,你有兩張紙,想做一個模型,你還需要膠水。你說紙和膠水有對應嘛?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板