[英]UI-Router doesnt working as expected(NESTED VIEWS!)
我正在尝试在当前项目中使用ui-router。 但是以某种方式,当涉及到嵌套视图时(我认为我写的正确无误),它没有显示视图的内容。让我向您展示我的代码。
.state('sport', {
url:'/sport',
templateUrl: 'views/sport.html',
controller: 'HomeCtrl',
controllerAs:'home',
requireLogin:false,
})
.state('sport.subs', {
url:'/left',
parent:'sport',
views: {
'left@sport': { templateUrl:'views/partials/left-sidebar.html'},
'content@sport': {templateUrl:'views/home.html'},
'right@sport':{templateUrl:'views/partials/sup-nav.html'}
},
onEnter:function() {
console.log("leftside Entered");
},
requireLogin:false
})
和我的sport.html
<div ui-view="left"></div>
<div ui-view="content"></div>
<div ui-view="right"></div>
它正在打开sport.html并显示其内容,但不显示嵌套视图。
我已经尝试了一切。 我在这里和其他地方都在研究此问题,但是找不到解决方法。。以某种方式,当涉及到嵌套视图时,它就像是某个东西在阻止它,或者我做错了所有..我不知道..任何帮助都将是非常感谢..
好吧,我解决了我的问题。
我通过将路线代码更改为此来解决了我的问题;
.state('sport', {
url: '/sport',
controller: 'HomeCtrl',
views: {
'@': {
templateUrl: 'views/home.html'
},
'left@sport': {templateUrl: 'views/partials/left-sidebar.html', controller: 'HomeCtrl'},
'content@sport': {templateUrl: 'views/content.html', controller: 'HomeCtrl'},
'right@sport': {templateUrl: 'views/right-side-bar.html', controller: 'HomeCtrl'}
}
})
如果我想添加子状态,我就是这样做的; (我正在更改父路由器的右侧)
.state('eventResult', {
parent:'sport',
views: {
'content@sport': {templateUrl:'views/event-result-manager.html', controller: 'EventResultManagerCtrl', controllerAs: 'vmEventResultManager'},
'right@sport': {templateUrl:'views/event-result-manager-right.html', controller: 'EventResultManagerCtrl', controllerAs: 'vmEventResultManager'}
},
url:'/event-result',
requireLogin:false
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.