Я подключаю $ modal сервис для ящиков подтверждения в своем приложении и делаю директиву, которая работает только для ng-click. Ну, я тоже нужно, чтобы работать на нг-изменения, так что я сделал это так:Угловой элемент проверки директивы?
.directive('ngConfirmClick', ['$modal',
function($modal) {
var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.ok = function() {
$modalInstance.close();
};
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
};
return {
restrict: 'A',
scope:{
ngConfirmClick:"&",
item:"="
},
link: function(scope, element, attrs) {
element.bind('click', function() {
var message = attrs.ngConfirmMessage || "Are you sure ?";
if(element == 'select'){
var modalHtml = '<div class="modal-body">' + message + '</div>';
modalHtml += '<div class="modal-footer"><button class="btn btn-success" ng-model="" ng-change="ok()">OK</button><button class="btn btn-warning" ng-change="cancel()">Cancel</button></div>';
} else {
var modalHtml = '<div class="modal-body">' + message + '</div>';
modalHtml += '<div class="modal-footer"><button class="btn btn-success" ng-click="ok()">OK</button><button class="btn btn-warning" ng-click="cancel()">Cancel</button></div>';
}
var modalInstance = $modal.open({
template: modalHtml,
controller: ModalInstanceCtrl
});
modalInstance.result.then(function() {
scope.ngConfirmClick({item:scope.item});
}, function() {
});
});
}
}
}
]);
Вы можете видеть, что я пытаюсь проверить, если элемент является элементом «выбрать», но я не уверен, как метод/функция метода угловой ссылки считывает элемент. Могу я проверить его с помощью строки, как я это сделал? (Это не работает, когда я пытаюсь использовать этот бит.
Как проверить, является ли элемент, с которым я прикрепляю свою директиву, выбрать?
Вы получаете любую ошибку в вашем браузере консоли –
Пожалуйста, установите демо. plunkr или jsfiddle – apairet