2017-10-27 16 views
0

어떻게 angularjs 컨트롤러 기능을 지시문으로 변환 할 수 있습니까? 나는 다른 컨트롤러에서 그것을 재사용하고 싶다. 내가 시도한 것은 작동하지 않으며 올바른 단계를 따르기를 원합니다.AngularJS - 컨트롤러 기능이 지시문에 어떻게 작용합니까?

내 코드 : 나는 그것을 좋아 사용할

$scope.lockableFormWithCustomValidation = function(functionName, isFormValid) { 

    if (isFormValid) { 
    $scope.lockForm = true; 
    if (angular.isFunction($scope[functionName])) { 
     $scope[functionName]().then(function(response) { 
     if (response.data.returnValue === 0) { 
      return $scope.lockForm = true; 
     } else { 
      return $scope.lockForm = false; 
     } 
     }); 
    } 
    } 
}; 

대신의

... <form lockable-form="'createReport', addReportForm.$valid" ... > 

:

<form data-ng-submit="lockableFormWithCustomValidation('createReport', addReportForm.$valid)" 

답변

1

더 나은 솔루션, 서비스로 이동합니다. 다른 지시어에 사용할 수 있습니다.

formvalidationService.js

angularApp.service('formValidationService',function(){ 
//To do logic here 

});