Angular-ui-router基于params的不同模板

时间:2014-08-08 10:54:10

标签: javascript angularjs angular-ui-router

我的ui-router配置中有一个状态:

state("objects",
  url: "/:type/"
)

我需要根据:type参数渲染不同的模板。例如,当用户尝试访问/buy时,我需要渲染模板/views/objects/buy.html/rent - /views/objects/rent.html

什么可以帮助我?

1 个答案:

答案 0 :(得分:1)

如果我理解正确的话。例如,如果您有基本URL对象 你的州将是:

.state('objects.rent') {
    url: "/rent",
    data: '{name: 'rent'},
    views: {
        // for one or multiple views
       'rentView': {templateUrl: '/views/objects/rent.html'}
    } 
}

// If you need to get something or initialize:
    $rootScope.$on('$stateChangeSuccess',
      function(event, toState, toParams, fromState, fromParams){
         if ($rootScope.$state.current.data !== undefined && $rootScope.$state.current.data.name !== undefined && $rootScope.$state.current.data.name === 'rent') {
           // doSomething
         } 
    });