config(['$routeProvider', function($routeProvider){
$routeProvider.when
} ]);
config(function($routeProvider){
$routeProvider.when
});
請(qǐng)問(wèn)這兩種方式配置路由有什么區(qū)別?
ringa_lee
首先看文檔
注意紅色部分,如果不用顯示指定參數(shù)的方式注入依賴,那么當(dāng)你minify
代碼時(shí),那些變量名可能被替換,從而導(dǎo)致運(yùn)行時(shí)注入失敗
這兩種都是依賴注入的方式,
ng中的3種注入方式:
a、推斷式注入
app.controller('MyCtrl', function($scope) {
});
b、標(biāo)注式注入
var myFunc=function($scope) {
});
myFunc.$inject = ['$scope'];
app.controller('MyCtrl',myFunc);
c、內(nèi)聯(lián)注入
app.controller('MyCtrl', ['$scope', function($scope) {
}]);
第1種是根據(jù)寫的參數(shù)名稱,如$scope,內(nèi)部自己調(diào)用$inject把$scope進(jìn)行依賴注入,如果在前端開(kāi)發(fā)中使用壓縮工具,就會(huì)把$scope變成另外的字母了,就無(wú)法進(jìn)行推斷了,而另外兩種方式你可以把function($scope)改成function(a)都沒(méi)關(guān)系;
第2種要多寫一行代碼;
一般推薦使用第3種。