私のコードをリファクタリングしようとしていて、次の構造にするつもりです:
サービス:
} }]).factory('UsernameRESTService', ['Restangular',function(Restangular){
var restAngular =
Restangular.withConfig(function(Configurer) {
Configurer.setBaseUrl('http://localhost:2000/');
});
return {
getCarrier: function(carrierCode) {
var usernamePromise=restAngular.one(carrierCode).get();
return usernamePromise;
}
}}]).factory('UsernameValidationHelper',['UsernameRESTService','$q',function(UsernameRESTService,$q){
return{
usernameExists: function(username){
var deferred = $q.defer();
deffered.resolve(true);
return deferred.promise;
}
}}])
指令:
angular.module('myApp.commonDirectives', ['myApp.services']).directive('username', ['UsernameValidationHelper','$q',function(UsernameValidationHelper,$q){
return {
restrict: 'A',
require: "ngModel",
link: function(scope, element, attrs, ctrl) {
ctrl.$asyncValidators.username = function(value){
var deferred = $q.defer();
bob= UsernameValidationHelper.usernameExists("bob");
defer.resolve();
return deferred.promise;
}
}
}
}])
現時点では、約束の知識が不足しているため、試しているところです。
電話するbob= UsernameValidationHelper.usernameExists("bob");
と、Type Error: Undefined is not a function
私は何を間違っていますか?