在angularJS injector的文檔中,某些代碼使用$injector
,而某些代碼僅使用injector
。我很困惑。這兩者之間有什麼區別,哪些地方可以使用它們?我也對$scope
和scope
有同樣的問題。
回答
當你想使用injector
,scope
,或任何其他構建在angularjs提供其他服務的依賴,你需要$
前綴他們,因爲按照慣例角度註冊所有建立在供應商與$
前綴,所以scope
註冊爲$scope
,injector
作爲$injector
等
當角實例化對象(使用注射器順便說一句),它會檢查哪些依賴對象有(因爲它需要將它們注入)和它的工作方式是通過檢查該構造函數的變量名對象,所以這就是爲什麼正確命名變量非常重要,否則你會得到錯誤未知的供應商...
當您檢索注射器如下:
var injector = angular.injector(['gaad', 'components']);
你不使用$前綴,因爲這是正常的變化,實際上你可以說它是任何你想要的(包括$噴油器)。
如果你想有噴射器的依賴,你需要將其命名爲:
angular.module('app').factory('$exceptionHandler', function($injector) {
...
});
或(約定在需要的時候使用angularjs腳本的縮小):
angular.module('app').factory('$exceptionHandler', ['$injector', function(anyNameYouWant) {
...
}]);
類似的範圍,用於指令中的鏈接功能時:
link: function(scope, element, attr) {
}
您不必ca因爲沒有任何東西被注入到這裏,所以它是有限的它只是一個函數參數。你可以隨心所欲地調用它,但這裏的約定是使用scope
而不是$scope
來區分當範圍被注入和何時被用作參數的情況。
謝謝。這澄清了混淆。 – Manoj
Np,起初我也很困惑:) –
- 1. AngularJS - 手動使用注入器注入服務時出錯
- 2. AngularJS - $注入器:modulerr
- 3. $注入器:當在控制器中注入服務時釋放angularjs
- 4. 使用AngularJS在iframe中注入鏈接
- 5. 使用注入器保持請求Angularjs
- 6. $注入angularjs
- 7. 在angularjs中注入引導
- 8. 在angularjs中注入$元素控制器
- 9. 使用依賴注入來注入依賴注入器
- 10. AngularJS $注入服務注入錯誤
- 11. 如何在註釋注入器出現空錯誤時調試注入器?
- 12. AngularJS模塊注入
- 13. Angularjs注入模塊
- 14. AngularJS手動注入
- 15. AngularJS - 依賴注入
- 16. AngularJS路由注入
- 17. AngularJS依賴注入$注入器:modulerr錯誤
- 18. 如何在使用Chrome擴展注入的HTML中使用AngularJS?
- 19. 注入測試用Angularjs&requirejs
- 20. AngularJS中的服務注入
- 21. AngularJs不能注入$在module.run
- 22. 在註釋注入中使用ReloadableResourceBundleMessageSource
- 23. 使用angularjs在控制器中注入服務
- 24. 當使用ocLazyLoad時注入延遲加載的AngularJS控制器
- 25. C#Dll注入器,VB.Net Dll注入器
- 26. 在Symfony2控制器中注入基於註釋的需求
- 27. 注入新對象VS使用依賴注入時注入現有對象?
- 28. 在AngularJS中將http注入到httpProvider中
- 29. AngularJS依賴注入 - 隱VS陣註釋
- 30. guice何時注入?
看到這個http://www.egghead.io/video/NnB2NBtoeay。它歸結爲如果您使用注射註釋或不 –
謝謝!這些視頻看起來不錯。 – Manoj