別のモーダルのリンクをクリックしてモーダルを開こうとしています。ブートストラップと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');
});
}
}])
上位のモーダルが開いて取得し、同様に以下のコントローラを呼び出しています。
.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'
});
}
}])
vm.pay関数を呼び出すことで、私は失敗ばかりしていた場合、別のモーダルは、開く必要があります。そして、私がデバッグすることができない最も良い部分は、何のエラーも与えていないということです。
しかし、開発者ツールのネットワークとコンソールからは、テンプレートが呼び出されていてもコントローラが呼び出されていないことに気付きました。
.controller('addPayoutDetailModalCtrl', ['$uibModalInstance', 'payoutMethods', function($uibModalInstance, payoutMethods){
// $uibModalInstance.close();
console.log('addPayoutDetailModalCtrl call');
}]);
私は最初のモーダルを取得していますが、そのコントローラーから別のモーダルを開くことができません。
誰でも手伝ってください!
2番目のモーダル私は 'openModalCtrl'としてコントローラ名を参照してください、それは 'addPayoutDetailModalCtrl'する必要がありますか? – jos
別のモーダルからモーダルを開く必要がありますか? – Jax
2番目のモーダルインスタンスで 'vm.templateUrl'とコントローラ' addPayoutDetailModalCtrl'を渡していないのはなぜですか? –