Saya seorang pemula dalam Angular, dan saya mempunyai soalan tentang cara untuk menentukan pengawal semasa belajar.
Apabila saya mula-mula bersentuhan dengannya, buku itu berkata kawalan seperti ini:
var myApp = angular.module('MyApp', []);
myApp.controller('MyController', function($scope){
// todo...
})
Kemudian, beberapa artikel di Internet menulis seperti ini:
var myApp = angular.module('MyApp', []);
myApp.controller('MyController', ['$scope', function($scope){
// todo...
}]);
Maka persoalannya, apakah yang dimaksudkan dengan penambahan []
yang terakhir? Apakah perbezaan antara dua cara penulisan ini?
Dalam amalan, saya mendapati bahawa pelaksanaan yang sama boleh dicapai menggunakan kedua-dua kaedah.
Cara penulisan kedua dipanggil
inline-annotation
, lihat dokumen Suntikan KetergantunganTujuan utama kaedah penulisan ini adalah untuk mengelakkan masalah nama pembolehubah diganti semasa pemampatan kod sumber (uglify), menyebabkan suntikan kebergantungan gagal.
Jika anda berminat dengan pelaksanaan, anda boleh melihat suntikan pergantungan tulisan tangan
ialah kebergantungan untuk disuntik. Cara penulisan ini sesuai untuk pemampatan kod masa hadapan