2015-11-07 40 views
0

我想能够传递一些状态参数,这些参数会显示在路线中,有些则不会。Angular UI路由器 - 在路由中传递一些参数状态,有些不是?

这将是很好能够做到这一点:

.state('widgetadmin.widgets.widget', { 
      url: '/widget/{widgetId}/{friendlyName}', 
      views: { 
       "[email protected]": { 
        controller: 'WidgetAdminController as vm', 
        templateUrl: 'widgetadmin/widgets/widget.tpl.html', 
        params: { widgetHref: null } 
       } 
      }, 
      data:{ pageTitle: 'Edit Widget' } 
     } 

然后通过这样的:

$state.go('widgetadmin.widgets.widget', 
      {widgetId: widget.id, friendlyName: slug, widgetHref: widget._links.self.href}, 
      {reload: true}); 

但是,当我尝试访问它,它是不确定的:

var something = $stateParams.widgetHref; 

我怎么能通过路由中的某些状态参数,有些不是?

回答

0

需要把该PARAMS在不同的地方:

.state('widgetadmin.widgets.widget', { 
     url: '/widget/{widgetId}/{friendlyName}', 
     views: { 
      "[email protected]": { 
       controller: 'WidgetAdminController as vm', 
       templateUrl: 'widgetadmin/widgets/widget.tpl.html' 
      } 
     }, 
     data:{ pageTitle: 'Edit Widget' }, 
     params: { widgetHref: null } 
    }