Я только начал изучать angularJS, но я могу заметить то же самое так много времени, что в некоторых местах, когда мы начинаем писать функцию в angularJS, я заметил, что некоторые люди определяют функцию, которую они будут использовать, как это
var mainApp = angular.module("mainApp", ['ngRoute']);
mainApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/addStudent', {
templateUrl: 'addStudent.htm',
controller: 'AddStudentController'
}).
when('/viewStudents', {
templateUrl: 'viewStudents.htm',
controller: 'ViewStudentsController'
}).
otherwise({
redirectTo: '/addStudent'
});
}]);
Но ['$routeProvider'
и та же функция работает нормально, если мы просто напишем функцию без этого ['$routeProvider'
как это
var mainApp = angular.module("mainApp", ['ngRoute']);
mainApp.config(function($routeProvider) {
$routeProvider.
when('/addStudent', {
templateUrl: 'addStudent.htm',
controller: 'AddStudentController'
}).
when('/viewStudents', {
templateUrl: 'viewStudents.htm',
controller: 'ViewStudentsController'
}).
otherwise({
redirectTo: '/addStudent'
});
});
Я знаю, что нет большой разницы при приходе к написанию кода, но все же есть какая-то разница в обоих способах. Если да, то это о минимизации? и есть ли какой-либо отрицательный момент, другой, чем его использование?
Заранее спасибо!
mainApp.config(['$routeProvider', function($routeProvider) {
}]);
Этот тип определяет запрограммированный контроллер Inline Array Annotation
. И это минимально безопасно. min-safe означает, что если вы уменьшите свой код, он все равно будет работать.
mainApp.config(function($routeProvider) {
});
Этот тип определения контроллера называется "Неявная аннотация". И это не минимально безопасно. min-safe означает, что если вы уменьшите свой код, это не сработает.
И еще один способ объявить контроллер $inject Property Annotation
var MyController = function($scope, greeter) {
// ...
}
MyController.$inject = ['$scope', 'greeter'];
someModule.controller('MyController', MyController);
прочитать больше информации нажмите здесь
mainApp.config(['$routeProvider', function($routeProvider) {
минимально безопасен, т. е. если вы минимизируете файлы, он все равно будет работать. Тогда какmainApp.config(function($routeProvider) {
не будет).