【发布时间】:2016-08-18 03:20:34
【问题描述】:
我想构建一个电子邮件客户端应用程序,用户首先会看到一个登录面板,然后将被重定向到主视图,其中很少有其他视图。像收到的电子邮件,删除,垃圾邮件等。为此,我使用了 ui-router 和嵌套视图,我的配置代码如下所示:
app.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise('/login');
$stateProvider
.state('/',{
url: '/login',
templateUrl: 'views/login.html',
controller: 'loginCTRL'
})
.state('main',{
url: '/main',
templateUrl: 'views/mainView.html',
controller: 'MailCtrl'
}),
.state('main.received', {
url: '/received',
templateUrl: '/views/received.html' ,
controller: 'receivedCTRL'
})
})
.state('main.spam', {
url: '/spam',
templateUrl: '/views/spam.html',
controller: 'spamCTRL'
})
.state('main.removed', {
url: '/removed',
templateUrl: '/views/removed.html',
controller: 'removedCTRL'
})
.state('main.message', {
url: '/message',
templateUrl: '/views/FullMessage.html',
controller: 'MailCtrl'
}) });
但不是在我的电子邮件面板上显示所有嵌套视图,而是将我发送回登录视图。所有的路径都是正确的。
【问题讨论】:
-
能否提供
views/mainView.html的内容? -
您的状态配置中有一些拼写错误:
main.received和main.message关闭了两次,状态main后面有一个逗号。请让我知道这是否也存在于您的代码中或只是在这里。 -
无意中这是我在这里复制代码时的错误。我的原始代码中没有双右括号。我的 JS 控制台没有向我发送任何错误语法消息
-
您是否按照下面 Judson Terrell 的建议使用
ui-sref?或在 javascript$state.go('state_name_here')?
标签: javascript angularjs angular-ui-router frontend