Ich möchte Anweisung zu einem modalen öffnen. Aber $ uibModal ist nicht innerhalb der Direktive definiert.
Wie kann ich $ uibModal innerhalb meiner Direktive verwenden, um Modal zu öffnen?
Ich möchte Anweisung zu einem modalen öffnen. Aber $ uibModal ist nicht innerhalb der Direktive definiert.
Wie kann ich $ uibModal innerhalb meiner Direktive verwenden, um Modal zu öffnen?
Die Link-Funktion der Direktive ist nicht injizierbar, sie benötigt feste Parameter in fester Reihenfolge. Aber Sie können Dienste in Richtlinie Funktion injizieren selbst:
app.directive('showPopUp', function($uibModal) {
return {
restrict: 'EA',
link: function(scope, el, attrs) {
var modalInstance = $uibModal.open({
animation: scope.animationsEnabled,
templateUrl: 'popup.html',
});
modalInstance.result.then(function(selectedItem) {
scope.selected = selectedItem;
}, function() {});
}
}
});
Nach dem Injizieren von Diensten in die Direktive-Funktion selbst läuft der Code kontinuierlich und Browser hängt. – Keshav
Dies ist nicht möglich mit dem Code, den ich gepostet habe. Es bedeutet, dass du etwas in deiner App vermasselt hast. Ich habe eine Demo als Antwort veröffentlicht. – dfsq
ich glaube, Sie Controller auf Ihre Richtlinie hinzufügen und uibModal dort $ injizieren. Es funktioniert gut –