2016-05-12 63 views
-1

之間的差異對於AngularJS組件

function controller() {} 

是什麼如何AngularJS過程

//dot-notation 
controller.$inject = ["service"] 

//bracket-notation 
controller["$inject"] = ["service"] 

對於之間的區別它?括號符號似乎不適用於某個特定的項目。

有很多的JS代碼,我更有興趣知道有人寫了什麼可以導致這個基本的JS行爲改變?如果我知道一個代碼模式,那麼我可以更好地調試。

回答

1

你錯了。從JS的角度來看,這個符號是平等的,並且都是有效的。

function myctrl(var1) { 
    var1.name = 'World'; 
} 

myctrl['$inject'] = ['$scope']; 

http://plnkr.co/edit/gDJHI76A8Mz2Y5Erm2s0?p=preview

問題可能是你使用一些構建工具。

+0

謝謝。這是非常有趣的,這個代碼在我的項目中失敗了。我刪除了所有的構建工具,並試圖添加一個簡單的手動JS文件。我這樣說是因爲我使用的是打字稿,這就是這個問題出現的地方。我會進一步調試以確定它出錯的地方。 – bPratik