ログインしてモーダルウィンドウに登録するコードを作成しました。モーダルには、あるものから別のものに切り替えるための ui-view があります (authenticate.html というファイル):
<div class="login-container" style="padding: 20px; min-height: 610px; " >
<a class="close" ng-click="close()" style=" float: right; font-size: 23px;
color: rgb(211, 214, 216);
margin-top: -15px;
margin-right: -5px;">x</a>
<h1 style="text-align: center">My Logo</h1>
<hr/>
<div ui-view="modal" ></div>
</div>
私のroutes.jsでは、authenticate.htmlとコントローラーを呼び出している状態を抽象として「モーダル」にしました。また、2 つのサブ状態 (ログインとサインアップ) があり、それらを親 (「モーダル」状態) にバインドします。
.state('modal', {
abstract: true,
//parent: this,
url: '/auth',
onEnter: ['$modal', '$state', function ($modal, $state) {
console.log($state);
$modal.open({
templateUrl: 'client/app/views/authentication.ng.html',
controller: 'AuthCtrl',
backdrop: 'static',
keyboard: false,
resolve: {
isLoggedIn: function () {
return false;
},
$state: function () {
return $state;
},
}
});
//.result.finally(function () {
// console.log('finally');
// console.log($state);
// $state.go('^');
// });
}],
onExit: function() {
console.log('onExit');
this.close();
}
})
.state('modal.login', {
url: '/login',
parent: 'modal',
views: {
'modal@': {
templateUrl: 'client/app/views/login.ng.html'
}
}
})
.state('modal.signup', {
url: '/signup',
parent: 'modal',
views: {
'modal@': {
templateUrl: 'client/app/views/signup.ng.html'
}
}
})
私の問題は、モーダルを呼び出して呼び出し元の状態を取得する方法がわからないことです。例: 「ホーム」状態でモーダルを呼び出した場合、それを閉じたときに「ホーム」に戻れるようにしたいと考えています。別の状態から呼び出す場合も同じですが、モーダルを閉じたときに前のステップに戻れるようにしたいと思います。親を状態に与える唯一の方法は、ハードコーディングすることですか? それとも変数にできますか?ありがとうございました