gpt4 book ai didi

javascript - 最好是 `mainApp.config([' $routeProvider', function($routeProvider )` and ` mainApp.config(function($routeProvider)`

转载 作者:行者123 更新时间:2023-12-03 06:47:43 27 4
gpt4 key购买 nike

我刚刚开始学习 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' 的函数,则相同的函数可以正常工作

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) {
}]);

这种定义 Controller 的类型称为内联数组注释。而且它是最小安全最小安全意味着如果你缩小代码,它仍然可以工作。

mainApp.config(function($routeProvider) {
});

这种定义 Controller 的类型称为“隐式注释”。而且它不是最小安全最小安全意味着如果你缩小代码,那么它将无法工作。

还有另一种方法来声明 Controller $inject Property Annotation

var MyController = function($scope, greeter) {
// ...
}
MyController.$inject = ['$scope', 'greeter'];
someModule.controller('MyController', MyController);

了解更多信息 click here

关于javascript - 最好是 `mainApp.config([' $routeProvider', function($routeProvider )` and ` mainApp.config(function($routeProvider)`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37651505/

27 4 0
文章推荐: javascript - 循环 Javascript 数组并显示 HTML (knockout)
文章推荐: javascript - 无法使用 jQuery 将