我已经编写了一个代码来登录并在模式窗口中注册。在模态中,我有一个 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'
}
}
})
我的问题是我不知道如何调用模态并获取调用者状态。例如:如果我处于“home”状态并调用模态框,我希望在关闭它时能够返回“home”。如果我从不同的状态调用它也是一样的,我希望能够在关闭模式时返回上一步。将父级赋予状态的唯一方法是硬编码吗?或者它可以是一个变量?谢谢你