Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度UI路由器-在路由中传递一些参数状态,而一些不传递?_Angularjs_Angular Ui Router - Fatal编程技术网

Angularjs 角度UI路由器-在路由中传递一些参数状态,而一些不传递?

Angularjs 角度UI路由器-在路由中传递一些参数状态,而一些不传递?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我希望能够传递一些状态参数,这些参数将出现在路由中,而有些则不会 如果能够做到这一点,那就太好了: .state('widgetadmin.widgets.widget', { url: '/widget/{widgetId}/{friendlyName}', views: { "sub@widgetadmin": { controller: 'WidgetAdminContr

我希望能够传递一些状态参数,这些参数将出现在路由中,而有些则不会

如果能够做到这一点,那就太好了:

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

如何在路由中传递一些状态参数,而在路由中不传递一些状态参数?

需要将这些参数放到不同的位置:

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