Angular UI-Router:嵌套状态/视图显示路由但不显示模板

时间:2013-08-19 15:07:42

标签: angularjs angular-ui angular-ui-router

我目前在我的角应用中使用Angular UI-Router 0.0.2作为路由/状态。在我的应用程序中,我有一个仪表板和一个帐户页面 - 仪表板显示应用程序数据;帐户页面显示用户信息。

当我将dashboardaccount状态设置为两个独立状态时,路线将会更改并显示帐户页面。

此代码有效:

routes = app.config ($stateProvider, $urlRouterProvider) ->

$urlRouterProvider.otherwise '/'

$stateProvider.state( 'dashboard',
  url: '/'
  templateUrl: "app/views/dashboard/index.html"
  controller: 'DashboardIndexCtrl'
).state( 'account'
  url: '/account'
  templateUrl: "app/views/account/index.html"
  controller: 'AccountIndexCtrl'
)

但是,每当我将account状态设置为dashboard的嵌套声明时,只会显示空白屏幕。

此代码不起作用:

routes = app.config ($stateProvider, $urlRouterProvider) ->

$urlRouterProvider.otherwise '/'

$stateProvider.state( 'dashboard',
  url: '/'
  templateUrl: "app/views/dashboard/index.html"
  controller: 'DashboardIndexCtrl'
).state( 'dashboard.account'
  url: 'account'
  templateUrl: "app/views/account/index.html"
  controller: 'AccountIndexCtrl'
)

我的dashboard/index.html文件:

%section.row-fluid
  .span12
    / directive
    %loginform

我的loginform指令的模板:

loginFormCtrl = app.controller 'LoginFormCtrl', ($scope, $rootScope, $location, $state, $log, User, Session) ->

  $rootScope.logged_in = false

  User.current().$promise.then (success) ->
    $log.info success
    $rootScope.current_user = success.user
    $rootScope.logged_in = true if success.user.user_name != null

1 个答案:

答案 0 :(得分:5)

在您的信息中心/ index.html模板中添加ui-view