Ich möchte die ui-bootsrap Modal mit der AngularJS Fullstack Generator & ES6 verwenden, aber es funktioniert nicht. Ich möchte ein Projekt auswählen, auf "Bearbeiten" klicken und das Projekt in einem großen Modal bearbeiten. Aber ich bekomme das Modal nicht zu öffnen.Benutze UI-Bootstrap Modal mit Angular-Fullstack und ES6
in der Konsole, erhalte ich diese Fehlermeldung:
"Error: $modal is not defined"
My Project Controller wie folgt aussieht:
'use strict';
(function() {
class ProjectCtrl {
constructor(Project, $modal, $log) {
this.project = Project;
this.projects = [];
this.getAllProjects(Project);
this.$modal = $modal;
this.log = $log;
}
// Open a modal window to Update a single Project
modalUpdate(size, selectedProject) {
var modalInstance = $modal.open({
templateUrl: 'app/project/project-edit.modal.html',
controller: function ($scope, modalInstance, aProject) {
$scope.project = aProject;
},
size: size,
resolve: {
aProject: function() {
return selectedProject;
}
}
});
modalInstance.result.then(function (selectedItem) {
this.selected = selectedItem;
}, function() {
$log.info('Modal dismissed at: ' + new Date());
});
};
}
angular.module('projectApp')
.controller('ProjectCtrl', ProjectCtrl);
})();
app.js wie folgt aussieht:
'use strict';
angular.module('projectApp', [
'projectApp.constants',
'ngCookies',
'ngResource',
'ngSanitize',
'ui.router',
'ui.bootstrap'
])
.config(function($urlRouterProvider, $locationProvider) {
$urlRouterProvider
.otherwise('/');
$locationProvider.html5Mode(true);
});
Der Button des Modal zu öffnen:
<button type="button" class="btn btn-default btn-xs pull-right" ng-click="ProjectCtrl.modalUpdate('lg', project)"><span aria-hidden="false"></span> Edit</button>
Meine Vermutung ist, dass in ProjectCtrl, ich habe irgendwie zu $ injizieren 'Projekt', '$ modal' & '$ log', aber ich weiß nicht, wie und wo.
ich meine ui-Bootstrap aktualisiert auf die neueste Version gestern. Gibt es keinen anderen Weg, um das Problem in meinem bereits bestehenden "ProjectCtrl" zu lösen? Ich verwende diesen Controller für die CRUD-Operationen und wollte das Modal verwenden, um die Werte des Projekts zu aktualisieren. Aber ich habe die ProjectCtrl in ES6 geschrieben und weiß nicht, wie man das Modal auch in ES6 implementiert. –
Ich habe keine guten Kenntnisse über ES6, daher kann ich dir in diesem Fall nicht wirklich helfen:/Vielleicht, nimm mein oben genanntes Beispiel zurück und übersetze, was ich in ES6 geschrieben habe. Es sollte nicht zu schwierig sein, denke ich. – Emidomh