angular.js - ui-router 视图嵌套时如何指定二级视图显示默认页面?
我想大声告诉你
我想大声告诉你 2017-05-15 17:09:45
0
7
1129


具体的情况是这样的,现在一个问题是:当跳转到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'
       } 
    }
})`
我想大声告诉你
我想大声告诉你

reply all(7)
阿神

Tested and can solve your problem.
.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'
   } 
}

})`

阿神
.state('user', {
    //我觉得你进到user页面直接设置你需要默认显示页面的url就好了
    url: '/a',
    views: {
        '': {
           templateUrl: 'public/front/temphtml/usercenter/a.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'
       } 
    }
})`
大家讲道理

I usually set a default page to execute $state.go();

under certain judgment conditions

For example, I set up the index router, and then set up an index.homepage

I will judge after the user logs in to the page. If the login is successful, jump directly to index.homepage. Of course, the template configured in index.homepage is the default page;

Total value, just use $state.go() to point to a route when you need it.

伊谢尔伦

Set the default:

app.config(function($urlRouterProvider){
    $urlRouterProvider.when('', '/index');
});
大家讲道理

It should be forbidden to jump to /user(添加属性 abstract:true). There's no reason to do this, just jump to the path you want.

我想大声告诉你

How to solve the address return problem involved in multi-level routing

Ty80

Does the question owner have a solution? Please answer the same question...

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!