使用UI-Router无法正确返回嵌套解析

时间:2017-07-27 12:36:06

标签: javascript angularjs angular-ui-router

我正在使用UI-Router构建具有嵌套状态的应用程序。

到目前为止,第一个状态解析为OK并返回在前端显示的对象数组(公平)。

$stateProvider.state('berliner', {
  url: '/berlinerliste/',
  views: {
    'header': {   
      templateUrl: 'header.htm'   
    },
    'main':{    
      templateUrl: 'bl2017.htm'    
    }
  },
  params : {search: 'Berliner 2017'},
  resolve: {
    fair: function(SearchService, $stateParams) {
      return SearchService.getAllExhibitors($stateParams.search);
    }
  }
})

$stateProvider.state('berliner.exhibitor', {
  url: '/berlinerliste/{id}', 
  views: {
    'header': {   
      templateUrl: 'header.htm'  
    },
    'main':{ 
      component: 'exhibitor'
    }
  },
  resolve: {
    exhibitor: function($stateParams, fair) {
      return $filter("filter")(fair, {'slug':$stateParams.id}, true);
    }
  }
})

当我点击其中一个对象时,没有任何反应。

嵌套状态解析应采用fair数组并过滤掉'slug':$stateParams.id的对象。

这是templateUrl: 'bl2017.htm'上我将id参数分配给嵌套状态的部分:

<article ng-repeat="exhibitor in datafairs" ui-sref="exhibitor({ id: exhibitor.slug })" >

哦,嵌套状态有一个绑定到它的组件:

.component('exhibitor', {
  bindings: { exhibitor: '<' },
  templateUrl: 'exhibitor.htm',
})

0 个答案:

没有答案