文章詳情頁
angular.js - Angular中關于控制器編寫方式的問題
瀏覽:208日期:2024-10-03 09:19:03
問題描述
我是Angular初學者,在學習中有個關于定義控制器的寫法問題。
在剛接觸的時候,書上是這樣寫控制的:
var myApp = angular.module(’MyApp’, []);myApp.controller(’MyController’, function($scope){ // todo...})
后來在一些網(wǎng)絡上的文章,是這樣寫的:
var myApp = angular.module(’MyApp’, []);myApp.controller(’MyController’, [’$scope’, function($scope){ // todo...}]);
那么問題來了,后者加了個[],是個什么意思?這兩種寫法有什么不同呢?
在練習中發(fā)現(xiàn)同樣的實現(xiàn)用這兩種都可以。
問題解答
回答1:第二種寫法叫inline-annotation,看文檔依賴注入
這種寫法的主要目的是為了避免源碼壓縮(uglify)時變量名被替換,導致依賴注入失敗的問題。
如果對實現(xiàn)有興趣,可以看手寫依賴注入
回答2:是要注入的依賴,這種寫法利于以后的代碼壓縮
相關文章:
排行榜

熱門標簽