我在AngularJS中有这个功能。有人能告诉我如何保护它以便它可以缩小:
.factory('isEmailAvailable', function (appConstant, $q, $http) {
return function (email) {
var deferred = $q.defer();
var url = appConstant.baseUrl + '/api/user/existsByEmail';
$http({
url: url,
method: "PUT",
data: {
email: email
}
}).then(function () {
// Found the user, therefore not unique.
deferred.reject("User name is taken");
}, function () {
// User not found, therefore unique!
deferred.resolve();
});
return deferred.promise;
}
});
答案 0 :(得分:5)
我认为你的意思是保护这个函数的依赖注入:
function (appConstant, $q, $http) {}
为此,将其更改为数组,告诉Angular您注射的是什么:
['appConstant', '$q', '$http', function (appConstant, $q, $http) {}]
所以看起来像这样
.factory('isEmailAvailable', ['appConstant', '$q', '$http', function (appConstant, $q, $http) {
// Your code here
}])
如果您使用gulp自动构建应用程序(这是完全值得的),您可以使用gulp-ng-annotate模块自动执行此操作,而不会在原始代码中添加任何内容。