다른 모달에서 링크를 클릭하여 모달을 열려고합니다.부트 스트랩과 angularJs를 사용하여 다른 모달에서 모달 열기
여기 내 코드입니다 :
.controller('payoutCtrl', ['$scope', '$uibModal', 'payoutService', function($scope, $uibModal, payoutService) {
console.log('payout');
var vm = this;
$scope.openAddPayout = function(){
var modalInstance = $uibModal.open({
templateUrl: "app/modules/homePage/payment/Payout/addPayoutMethod.tmpl.html",
controller: 'payoutModalCtrl',
controllerAs: 'vm',
size: 'lg',
resolve: {
payoutMethods: function(){
return vm.payoutMethods;
}
}
});
modalInstance.result.then(function() {
console.log('success');
}, function(){
//Do stuff with respect to dismissal
console.log('error');
$state.go('homePage.payment.payout');
});
}
}])
상단 모달가 열려지고뿐만 아니라 아래의 컨트롤러를 호출한다. vm.pay 함수를 호출에
.controller('payoutModalCtrl', ['$rootScope', '$scope', '$uibModal', '$uibModalInstance', 'payoutMethods', function($rootScope, $scope, $uibModal, $uibModalInstance, payoutMethods){
var vm = this;
vm.payoutMethods = payoutMethods;
vm.pay = function(method){
console.log(method);
vm.templateUrl;
if(method == 1){
vm.templateUrl = "app/modules/homePage/payment/Payout/check.tmpl.html"
}
else if(method == 2){
vm.templateUrl = "app/modules/homePage/payment/Payout/payPal.tmpl.html"
}
else if(method == 3){
vm.templateUrl = "app/modules/homePage/payment/Payout/directDeposite.tmpl.html"
}
console.log(vm.templateUrl);
var modalScope = $rootScope.$new();
modalScope.modalInstance = $uibModal.open({
templateUrl:vm.templateUrl,
controller: 'addPayoutDetailModalCtrl',
size: 'sm'
});
}
}])
, 다른 모달 내가 실패 얻고 곳 열립니다. 그리고 내가 디버그 할 수없는 가장 좋은 부분은 어떤 에러도주지 않는다는 것이다.
하지만 개발자 도구의 네트워크 및 콘솔에서 템플릿을 불러오고 있지만 컨트롤러가 전화를받지 못하는 것으로 나타났습니다.
.controller('addPayoutDetailModalCtrl', ['$uibModalInstance', 'payoutMethods', function($uibModalInstance, payoutMethods){
// $uibModalInstance.close();
console.log('addPayoutDetailModalCtrl call');
}]);
그래서 첫 번째 모달이 표시되지만 해당 모달에서 다른 모달을 열 수 없습니다.
아무도 도와 줄 수 있습니까?
그리고 주요 아이디어는 보여주고 싶지 않은 부분을 숨기기 위해, 그리고 당신이 원하는 섹션을 보여주는 것입니다 두 번째 모달 내가 'openModalCtrl'로 컨트롤러 이름을 참조하십시오,하지만 'addPayoutDetailModalCtrl'해야합니까? – jos
다른 모달에서 모달을 열 필요가 있습니까? – Jax
왜 두 번째 모달 인스턴스에서'vm.templateUrl'과 컨트롤러'addPayoutDetailModalCtrl'을 전달하지 않았습니까? –