0
안녕하세요, 유효성 검사 지시문을 만들고 싶습니다. 기본적으로 서버에서 원격 유효성 검사를 호출합니다. 나는이 같은 기대 :각도 js 지시문에서 응용 프로그램 컨트롤러 메서드를 호출하는 방법
<input type="text" id="nome" required ng-model="client.context" available="checkAvailableContexts">
을하고이 같은 내 ClientController의 메소드를 호출해야합니다 :
$scope.checkAvailableContexts = function(contexto, callbacks) {
service.checkContextAvailability(contexto, callbacks);
}
을이 내 서비스 방법 :
이this.checkContextAvailability = function(context, externalCallbacks) {
var url = angular.url("/clients/context/" + context + "/available"),
callback = {
success: function(){},
error: function(){}
};
$.extend(callback, externalCallbacks)
$.ajax({
url: url,
data: { context: context },
success: function(data){
$timeout(function(){
callback.success(data);
},100);
},
type: "GET",
dataType: "json",
contentType: "application/json;charset=UTF-8onte"
});
};
내 지시가 다음과 같이됩니다.
.directive('available', function(){
return {
restrict: "A",
require: "ngModel",
replace: true,
link: function(scope, element, attrs, controller){
controller.$parsers.unshift(function (viewValue) {
//call the ClientsController method passing viewValue
//and callbacks that update the validity of the context
})
}
}
})
그러나 지시문 내부에서 clientController를 호출하는 방법을 알 수 없습니다.
나는 함수의 이름으로 attrs.available을 가지고 있음을 알고있다. 하지만 내 매개 변수를 전달 컨트롤러 범위에서 실행할 수 없습니다;
도움이 될 것입니다.