繁体   English   中英

UI路由器未按预期工作(嵌套视图!)

[英]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并显示其内容,但不显示嵌套视图。

在此处输入图片说明

我已经尝试了一切。 我在这里和其他地方都在研究此问题,但是找不到解决方法。。以某种方式,当涉及到嵌套视图时,它就像是某个东西在阻止它,或者我做错了所有..我不知道..任何帮助都将是非常感谢..

当我尝试调试时,似乎每个视图都已加载。 在此处输入图片说明 PS:我删除了“父母”,然后添加了它,我尝试了几乎所有内容。

好吧,我解决了我的问题。

我通过将路线代码更改为此来解决了我的问题;

 .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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM