搜尋

首頁  >  問答  >  主體

angular.js - $rootscope對應的controller在哪裡?可以用什麼方法取得?

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

给我你的怀抱给我你的怀抱2744 天前661

全部回覆(2)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-05-15 17:08:32

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

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

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-15 17:08:32

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

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

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

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

    回覆
    0
  • 取消回覆