私のボタンのインスタンス化はここにあります:
<button ng-hide="todo === 'add'" confirm-click ng-click="delete()">Delete</button>
私のディレクティブコードは次のとおりです。
(function(app) {
app.directive('confirmClick', function(){
return {
restrict: 'A',
priority: 1,
terminal: true,
link: function(scope, element, attr) {
var msg = attr.confirmationNeeded || "Really Delete?";
var clickAction = attr.ngClick;
element.bind('click', function() {
if(window.confirm(msg)){
scope.$apply(clickAction);
}
});
}
};
});
}(angular.module('case1')));
ボタンからディレクティブを削除すると ng-hide が機能し、ディレクティブを含めると機能しなくなります。ディレクティブを含めると、 $scope.todo 変数がスコープ外にあると思いますが、これを修正するにはどうすればよいでしょうか?