Matters needing attention when ANGULARJS compression

Source: Internet
Author: User
Because Angularjs infers the dependent service name through the parameter name of the controller constructor. So if you want to compress the controller's JS code, all of its parameters will also be compressed, then rely on the injection system can not correctly identify the service.

If the name of our controller is: Bookctrl, the code before the compression is:
var Bookctrl = function ($scope, $http) {/* Constructor body */};

To overcome the problems caused by compression, simply assign the $inject property to an array of dependent service identifiers in the controller function:
Bookctrl $inject = [' $scope ', ' $http '];

Another method can also be used to specify a list of dependencies and to avoid compression problems--constructing a controller using JavaScript arrays: Putting the service to be injected into a string array (representing the name of the dependency), the last element of the array is the Controller's method function:

var Bookctrl = [' $scope ', ' $http ', function ($scope, $http) {*/* constructor body */}];


The two methods mentioned above can work perfectly with any function that ANGULARJS can inject, which depends entirely on the programming style of your project and suggests an array approach.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

Tags Index: