Ich schaute auf die Antwort und Frage in Angular ui modal with controller in separate js file skizziert und ich möchte das gleiche Ergebnis erzielen, das ist der modale Controller in seiner eigenen controller.js Datei, nur dass mein Hauptcontroller ist anders umgesetzt. Hier ist, wie ich es habe.Angular ModalController eine eigene Datei zu sein
(function() {
angular.module('app.mainModule')
.controller('MainController', MainController);
var ACTION = {
CANCEL: 0,
CONFIRM: 1
};
MainController.$inject = ['$rootScope', '$modal'];
function MainController($rootScope, $modal) {
var vm = this;
vm.method1 = method1;
vm.method2 = method2;
function method1(){
var modalInstance = createModal();
// do something....
}
function createModal(){
return $modal.open({
templateUrl: 'app/someModalFile.html',
controller: 'ModalController as vm',
resolve: {
action: function(){
return vm.action;
},
someVar: function() {
return vm.someVar.obj;
},
anotherVar: function(){
return vm.anotherVar;
}
}
});
}
// I want to have this in a separate controller file and
// use the MainController to invoke this modal controller.
function ModalController($modalInstance, someVar, anotherVar){
var vm = this;
vm.confirm = confirm;
vm.cancel = cancel;
vm.someVar = someVar; // to display on the modal window
vm.anotherVar = anotherVar;
function confirm(){
$modalInstance.close({action: ACTION.CONFIRM});
}
function cancel(){
$modalInstance.close({action: ACTION.CANCEL});
}
}
})();
Irgendeine Idee, wie man das erreicht?
Genau das, was ich brauchte. Funktioniert perfekt. – noobcoder