Angular UI Router - 在路由中传递一些params状态,有些不是吗?

时间:2015-11-07 22:26:36

标签: angularjs angular-ui-router

我希望能够传递一些将在路线中显示的状态参数,以及一些不会获胜的状态参数。

能够做到这一点真是太好了:

.state('widgetadmin.widgets.widget', {
            url: '/widget/{widgetId}/{friendlyName}',
            views: {
                "sub@widgetadmin": {
                    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;

我如何在路线中传递一些状态参数,有些则没有?

1 个答案:

答案 0 :(得分:0)

需要将params放在不同的地方:

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