當我們創建控制器,服務等組件時,AngularJs中的方括號有什麼用?我在例子中看過['ngRoute','ngFileUpload']。它有什麼用處?爲什麼在創建組件時在AngularJs中使用方括號表示法
3
A
回答
4
它的角度依賴注入的方式被定義,所以你可以uglify源代碼而不打破它。
例如,控制器可以限定兩個依賴這樣的:
angular.module('App').controller('SomeController', ['ngRoute', 'ngFileUpload', function (route, fileUpload) {
console.log('this is ngRoute', route);
console.log('this is fileUpload', fileUpload);
}]);
角將實例控制器與所述依賴關係如在數組中的順序相同。所以這不是你給這個論點的名字。現在想象一下,你想醜化代碼,使它像這樣:
angular.module('App').controller('SomeController', ['ngRoute', 'ngFileUpload', function (a, b) {
console.log('this is ngRoute', a);
console.log('this is fileUpload', b);
}]);
你仍然會得到你應該的依賴關係。 然而,如果你用這個符號:
angular.module('App').controller('SomeController', function (ngRoute, ngFileUpload) {});
你不能醜化代碼重命名功能參數。
-1
它沒有特別的「AngularJS」意義。它代表一個Javascript數組,並且通過執行['ngRoute', 'ngFileUpload']
,傳遞了一組元素(或者這個例子中的字符串),這些元素被傳遞給你正在調用的函數。
angular.module('myapp', ['ngRoute', 'ngFileUpload']);
現在是到module
函數來決定它如何解釋您傳遞數組。但要回答你的問題,它只是一個數組。
0
它用於註釋。如果您使用任何縮小或混淆軟件,您的注射將被重新命名。數組中的註釋將允許角度映射到正確的方法。
上有$injector
在角度文檔可用的更多的信息:https://docs.angularjs.org/api/auto/service/ $注射器
-1
在模塊定義的[]
參數可被用來定義從屬模塊。
例如,
在angular.module('myApp', [])
的空數組。這個數組是myApp依賴的模塊列表。
相關問題
- 1. 爲什麼GNU Smalltalk在方法體中使用括號?
- 2. 爲什麼在使用路由輔助方法時必須使用括號?
- 3. 在以下語法中使用方括號「[]」有什麼用途
- 4. 爲什麼ASP.net使用方括號
- 5. 什麼時候應該在U-SQL中使用方括號?
- 6. 在方括號中使用classList方法
- 7. 嵌套的對象在javascript中使用方括號表示法
- 8. angularjs用方括號括
- 9. 何時在方格中使用方括號和大括號?
- 10. 在AngularJS中用什麼方法來表示數據的文本?
- 11. 什麼是在Nativescript中創建組件的正確方法?
- 12. D3路徑:爲什麼在使用的.data方括號([...])
- 13. 在AngularJS中創建可重用組件
- 14. 如何在RDoc中表示方括號([])?
- 15. 爲什麼dart在引用方法時創建閉包?
- 16. 在C#中創建方法,語法,括號和傳遞問題
- 17. 爲什麼C#在表達式中使用可空字符時需要括號?
- 18. 在Python中,何時使用方括號或圓括號?
- 19. 如何在點符號中使用變量,如方括號表示法
- 20. AngularJS使用雙括號表示法呈現HTML
- 21. 爲什麼在(android)中的括號(WebView)
- 22. Lua:使用字符串鍵創建隱式表 - 爲什麼額外的括號?
- 23. Swift:class func ....爲什麼在類中創建方法時使用this而不是func?
- 24. 爲什麼點表示法工作而不是括號?
- 25. 使用JSON將方括號表示法數組從javascript轉換爲C#?
- 26. 爲什麼在創建列表對象的模型中創建方法
- 27. 在javascript數組中使用兩個括號是什麼意思
- 28. 爲什麼此Java代碼在方括號外的大括號({})中?
- 29. 私人會員爲什麼可以通過方括號表示法訪問?
- 30. 缺少右括號在創建表