2017-12-15 2 views
0

스타일있는 단추 지시문을 만들었습니다. 방금 그 버튼이 안에 포함 된 양식을 제출하기를 원했습니다.angularjs 맞춤 버튼 지시문 다른 양식 제출

angular.module('app') 
.directive('gpButton', function() { 
    return { 
     templateUrl: "views/directives/components/button.html", 
     restrict: "E", 
     scope: { 
      type: '@', 
      background: '@' 
     }, 
     transclude: true, 
     controllerAs: "vm", 
     bindToController: true, 
     controller: [function() { 
      var vm = this; 
     }] 
    }; 
}); 

여기 내 button.html 파일입니다.

<button class="button" 
    type="{{vm.type === 'submit' ? 'submit' : 'button'}}" 
    ng-disabled="{{vm.disabled ? true : false}}" 
    ng-style="{'background': vm.background}"> 
<ng-transclude></ng-transclude> 
</button> 

그리고 내 하나의 양식처럼 될 것입니다,

 <form name="individualLoginForm" ng-submit="vm.submitIndLogin()"> 
     <div class="form-group" style="margin-bottom: 100px;"> 
      <gp-input type="tel" 
        autofocus="true" 
        autocomplete="off" 
        phone-input="true" 
        ng-model="vm.loginPhoneNumber" 
        label="{{'GSM_NUMBER' | translate}}" 
        icon-class="gp-icon icon-phone" 
        disabled="vm.firstFormSubmitted" 
        required="true"> 
      </gp-input> 
     </div> 
     <gp-button type="submit" ---> here is my custom submit button 
        background="#E57373"> 
     Login 
     </gp-button> 
    </form> 

하지만 페이지를 새로 고칠 때 내가 다른 경로로 이동하고 양식을 제출 아니에요 돌아올 경우 만 제출하는 것 . <form></form>에 포함 된 제출을 위해 무엇을해야합니까?

답변

0

ng-disabled 지침에서 보간 {{ }} 제거 : 문서에서

<button class="button" 
    type="{{vm.type === 'submit' ? 'submit' : 'button'}}" 
    ̶n̶g̶-̶d̶i̶s̶a̶b̶l̶e̶d̶=̶"̶{̶{̶v̶m̶.̶d̶i̶s̶a̶b̶l̶e̶d̶ ̶?̶ ̶t̶r̶u̶e̶ ̶:̶ ̶f̶a̶l̶s̶e̶}̶}̶"̶ 
    ng-disabled="vm.disabled ? true : false" 
    ng-style="{'background': vm.background}"> 
    <ng-transclude></ng-transclude> 
</button> 

:

NG 장애인

우리가 disabled 내부 보간을 사용할 수 없기 때문에 특별한 지시가 필요하다 속성. 자세한 내용은 interpolation guide을 참조하십시오.

— AngularJS ng-disabled Directive API Reference

+0

나는 그것은 일을 최대한 빨리 –

+0

그것을 시도 할 것이다. 고마워, 나는 다른 재산 유형의 그 원인을 놓친다. –