2016-06-22 3 views
2

angularjs에 확인 대화 상자를 만들려고합니다. stackoverflow에서 대답 한 질문이 있습니다. Confirmation dialog on ng-click - AngularJS 답변을 시도했지만 취소를 클릭하면 문제가 해결됩니다. OK 대신을 사용하는 대답 잘못 또는 내가 같은 문제를 가지고 뭔가 다른angularjs : 확인 대화 상자가 제대로 작동하지 않습니다.

<button type="button" ng-click="updateData()" ng-confirm-click="Are you sure?"> 
      Update 
    </button> 

지시

app.directive('ngConfirmClick', [ 
    function(){ 
     return { 
      link: function (scope, element, attr) { 
       var msg = attr.ngConfirmClick || "Are you sure?"; 
       var clickAction = attr.confirmedClick; 
       element.bind('click',function (event) { 
        if (window.confirm(msg)) { 
         scope.$eval(clickAction) 
        } 
       }); 
      } 
     }; 
}]) 

답변

2

를 추가해야하고, 난 당신 같은 지시어를 사용하여 해결하지만, 클릭사용자 확인에 대한 최종 조치를 위해, 나는 그 값으로 최종 조치와 함께 confirmed-click 속성을 사용했습니다.

HTML :

<button confirmed-click="confirm()" ng-confirm-click="Are you really sure?">Update</button> 

지시어 :

app.directive('ngConfirmClick', [ 
    function() { 
     return { 
      link: function (scope, element, attr) { 
       var msg = attr.ngConfirmClick || "Are you sure?"; 
       var clickAction = attr.confirmedClick; 
       element.bind('click',function (event) { 
        if (window.confirm(msg)) { 
         scope.$eval(clickAction) 
        } 
       }); 
      } 
     }; 
    } 
]); 

fiddle를 참조하십시오.

+0

판자,하지만 포인트는'확인한다는 것입니다 감사 – george

+0

작동()'액션은 지시어 코드에 의해 호출되어야하며, 사용자가 선택을 확인한 후에 ....'ng-click'을 사용하면 첫 번째 클릭에서 액션이 호출됩니다 ... – MarcoS

0

답변은 쓰기입니다. 그냥 "확인 클릭"을 "NG 클릭"으로 변경하고 그것은 작동 잘

<button type="button" confirmed-click="updateData()" ng-confirm-click="Are you sure?"> 
      Update 
    </button> 

그냥 확인 내가 그것을 이해하지 못했다 Here

관련 문제