Angular ui modal with controller in separate js fileで概説されている答えと質問を見ていましたが、同じ結果を達成したいと思います。それは自分のcontroller.jsファイルにmodalコントローラを持っています。異なる方法で実装されています。ここで私はそれを持っている方法です。Angular ModalControllerを独自のファイルにする
(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});
}
}
})();
どのようにこれを達成するためのアイデアですか?私が正しくあなたの質問を理解していれば
正確に私が必要としたもの。完璧に動作します。 – noobcoder