Amalan terbaik ialah menggunakan: pengawal.('Ctr',['$skop',fungsi($skop){...}]).
Seperti yang @Deboy katakan, untuk pemampatan js.
Prestasi yang lebih baik. (controller.('Ctr',function($scope){...}), angularjs akan menghuraikan parameter fungsi ini dan akhirnya mendapatkan kandungan untuk disuntik, manakala kaedah penulisan gaya tatasusunan boleh melangkau langkah penghuraian , dan prestasi akan menjadi lebih baik). Dilampirkan kod sumber untuk rujukan:
function annotate(fn, strictDi, name) {
var $inject,
fnText,
argDecl,
last;
if (typeof fn === 'function') {
if (!($inject = fn.$inject)) {
$inject = [];
if (fn.length) {
if (strictDi) {
if (!isString(name) || !name) {
name = fn.name || anonFn(fn);
}
throw $injectorMinErr('strictdi',
'{0} is not using explicit annotation and cannot be invoked in strict mode', name);
}
fnText = fn.toString().replace(STRIP_COMMENTS, '');
argDecl = fnText.match(FN_ARGS);
forEach(argDecl[1].split(FN_ARG_SPLIT), function(arg) {
arg.replace(FN_ARG, function(all, underscore, name) {
$inject.push(name);
});
});
}
fn.$inject = $inject;
}
} else if (isArray(fn)) {
last = fn.length - 1;
assertArgFn(fn[last], 'fn');
$inject = fn.slice(0, last);
} else {
assertArgFn(fn, 'fn', true);
}
return $inject;
}
Oleh kerana semasa proses pengoptimuman bahagian hadapan, js dan fail lain akan dimampatkan dan beberapa rentetan akan digantikan dengan huruf tunggal Jika ini berlaku, suntikan sudut tidak akan dihalang daripada dimampatkan Tidak boleh disuntik. Yang sebelumnya diproses supaya walaupun dimampatkan, ia tidak akan menyebabkan kegagalan suntikan
Kesan kedua-dua pelaksanaan dalam fasa pembangunan adalah sama
Tiada spesifikasi/standard untuk bercakap tentang pelaksanaan suntikan kebergantungan
angular, tetapi ia adalah idea yang baik. Saya telah menulis tutorial sebelum ini untuk mengajar anda menulis sistem suntikan kebergantungan yang serupa dengan angular Saya harap ia berguna kepada anda: Suntikan ketergantungan tulisan tangan BDD
Amalan terbaik ialah menggunakan: pengawal.('Ctr',['$skop',fungsi($skop){...}]).
Seperti yang @Deboy katakan, untuk pemampatan js.
Prestasi yang lebih baik. (controller.('Ctr',function($scope){...}), angularjs akan menghuraikan parameter fungsi ini dan akhirnya mendapatkan kandungan untuk disuntik, manakala kaedah penulisan gaya tatasusunan boleh melangkau langkah penghuraian , dan prestasi akan menjadi lebih baik). Dilampirkan kod sumber untuk rujukan:
Oleh kerana semasa proses pengoptimuman bahagian hadapan, js dan fail lain akan dimampatkan dan beberapa rentetan akan digantikan dengan huruf tunggal Jika ini berlaku, suntikan sudut tidak akan dihalang daripada dimampatkan Tidak boleh disuntik. Yang sebelumnya diproses supaya walaupun dimampatkan, ia tidak akan menyebabkan kegagalan suntikan
Kesan kedua-dua pelaksanaan dalam fasa pembangunan adalah sama
Tiada spesifikasi/standard untuk bercakap tentang pelaksanaan suntikan kebergantungan
angular
, tetapi ia adalah idea yang baik.Saya telah menulis tutorial sebelum ini untuk mengajar anda menulis sistem suntikan kebergantungan yang serupa dengan
angular
Saya harap ia berguna kepada anda: Suntikan ketergantungan tulisan tangan BDD