首頁  >  問答  >  主體

angular.js - ui-router 視圖嵌套時如何指定二級視圖顯示預設頁面?


具體的情況是這樣的,現在一個問題是:當跳到user頁面時,右邊的uiview是為空的,要點擊了左側的導航才能插入模板,如何在路由中設定二級視圖的預設顯示頁面呢?
上代碼:
`$stateProvider

.state('user', {
    url: '/user',
    views: {
        '': {
           templateUrl: 'public/front/temphtml/usercenter/userindex.html' 
        }
    }  
})
.state('user.a', {
    url: '/a',
    views: {
       'content@user': {
           templateUrl: 'public/front/temphtml/usercenter/a.html',
           controller: 'userCtrl'
       } 
    }
})
.state('user.b', {
    url: '/b',
    views: {
       'content@user': {
           templateUrl: 'public/front/temphtml/usercenter/b.html',
           controller: 'userCtrl'
       } 
    }
})`
我想大声告诉你我想大声告诉你2693 天前1117

全部回覆(7)我來回復

  • 阿神

    阿神2017-05-15 17:11:45

    已測試,可以解決你的問題。
    .state('user', {

    url: '/user',
    views: {
        '': {
           templateUrl: 'public/front/temphtml/usercenter/userindex.html' ,
           controller: function($state){
                $state.go('user.a');//默认显示第一个tab
            }
        }
    }  

    })
    .state('user.a', {

    url: '/a',
    views: {
       'content@user': {
           templateUrl: 'public/front/temphtml/usercenter/a.html',
           controller: 'userCtrl'
       } 
    }

    })
    .state('user.b', {

    url: '/b',
    views: {
       'content@user': {
           templateUrl: 'public/front/temphtml/usercenter/b.html',
           controller: 'userCtrl'
       } 
    }

    })`

    回覆
    0
  • 阿神

    阿神2017-05-15 17:11:45

    雷雷

    回覆
    0
  • 大家讲道理

    大家讲道理2017-05-15 17:11:45

    我一般設定一個預設頁面會在某些判斷條件下執行 $state.go();

    例如我設定了index 的router,然後設定一個 index.homepage

    我會在例如使用者登入頁面後判斷如果登入成功直接跳到 index.homepage 當然 index.homepage中配置的template就是預設的頁面;

    總值,在你需要的時候直接使用 $state.go()來指向某個路由就行。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 17:11:45

    設定一下預設:

    app.config(function($urlRouterProvider){
        $urlRouterProvider.when('', '/index');
    });

    回覆
    0
  • 大家讲道理

    大家讲道理2017-05-15 17:11:45

    應該禁止跳到/user(添加属性 abstract:true )。沒有任何理由需要這樣做,直接跳到你想要的路徑就好了。

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-15 17:11:45

    多層級路由涉及到的 位址回傳問題怎麼解決

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-15 17:11:45

    題主有解決方法了嗎,同樣問題求解答...

    回覆
    0
  • 取消回覆