美国angularjs $ stateProvider不传递参数(States angularjs

2019-10-23 16:35发布

我使用标准$ routeProvider的用于路由电流angularjs应用。 我打算使用该应用程序的$ stateProvider为向导的一部分。

我宣布父状态“莫代尔”和子状态“editClient”是这样的:

    $stateProvider.state('Modal', {
        views: {
            'modal': {
                templateUrl: '*urlHere*',
                controller: '*controllerHere'
            }
        },
        abstract: true
    });

    $stateProvider.state('Modal.editClient', {
        views: {
            "modal": {
                url: '/editClient/:id',
                templateUrl: '*templateHere*',
                controller: '*controllerHere*'
            }
        }
    });

在我的控制器我打电话:

$state.go('Modal.editClient', { id: 1});

然而,$ stateParams是空的。 怎么会?

我采用了棱角分明的UI路由器版本0.2.15和1.2.25 angularjs。 更新到更高版本angularjs是不可能的时刻。

更新

我也尝试:

    $stateProvider.state('Modal.editClient', {
        views: {
            "modal": {
                params: {
                    'id' : 0
                },
                templateUrl: '*templateUrlHere*',
                controller: '*controllerHere*'
            }
        }
    });

Answer 1:

你是不是在状态传递参数你在哪里定义你的状态,你需要做这样的事情。

 $stateProvider.state('Modal', {
        views: {
            'modal': {
                templateUrl: '*urlHere*',
                controller: '*controllerHere'
            }
        },
        abstract: true
    });

    $stateProvider.state('Modal.editClient', {
       params: {
                        'id': 0
                },
        views: {
            "modal": {
                url: '/editClient/:id',
                templateUrl: '*templateHere*',
                controller: '*controllerHere*'
            }
        }
    });


文章来源: States angularjs $stateProvider not passing arguments