2016-05-23 78 views
-3

我剛開始學習Angular JS。雖然我可以編寫一個Angular模塊,但我對Angular的工作方式有很多疑問。Angular JS working

  1. $ scope是如何工作的?我知道在ng-module的聲明處創建一個根作用域。這在某種程度上代表了DOM,並且還監視了DOM在屬性,事件等方面的任何變化。該手錶如何實現?
  2. 如何確保此範圍對象在頁面加載後就緒,以便控件可以使用它?訪問權限如何與範圍對象一起使用,控制器可能無法訪問變量的情況?
  3. 在哪些情況下,您可能需要明確使用注射器?
  4. 詳細的角度應用的生命週期是什麼?有沒有客戶端與服務器端組件,還是完全客戶端?當我說,ng-repeat時,這仍然是客戶端?
+1

Angular是**客戶端**框架,請參閱其教程和文檔,網址爲https://docs.angularjs.org/tutorial –

回答

1
  1. $ scope是角度用於將變量暴露給模板的角色。把範圍看作你的「視圖模型」。任何附在範圍內的東西都會被暴露。 $ scope使用原型繼承。這意味着範圍的兒童將可以訪問父母的財產。涉及變更檢測的範圍繼承有更詳細的細微差別。
  2. 依賴注入解決了「就緒」問題。 Angular負責在已經實例化的每個控制器中正確注入作用域。
  3. 如果您需要創建一個函數,該服務尚未實例化時修改服務。例如配置錯誤處理程序。只有提供者將可用,使用注入器我們可以在拋出錯誤時獲取服務。

`

function(rejection) { 
    if (rejection.status === 401) { 
     // have to lazy inject cause http interceptors are defined 
     // at provider configuration 
     var sessions = $injector.get('sessions'); 
     var $state = $injector.get('$state'); 
     sessions.logout().then(function() { 
      $state.go('login'); 
       return $q.reject(rejection); 
      }); 
     } 
    } 

    return $q.reject(rejection); 
} 
  • 我建議閱讀這個文檔,以闡明 '的角度的方式' 的一些光。 https://docs.angularjs.org/guide/scope