无法使用$ state.go发送数据

Ayu*_*ush 2 angularjs ngroute

我的角度应用程序中有这个代码.因此,正如代码所说,有多个视图正在加载,我想传递一个参数.

.state('root.moduleListing', {
    params: ['registerData'],
    views: {
        "main_container": {
            controller: 'ModuleListingController as model',
            templateUrl: 'misc/module-listing/module-listing.tpl.html',
            resolve: {
                registerData: ['$stateParams', function($stateParams) {
                    return $stateParams.registerData;
                }]
            }
        },
        "components_header_header": {
            controller: 'HeaderController as model',
            templateUrl: 'components/header/post-login.tpl.html',
        },
        "components_footer_footer": {
            controller: 'FooterController as model',
            templateUrl: 'components/footer/footer.tpl.html',
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用它

$state.go('root.moduleListing', {'registerdata': response});
Run Code Online (Sandbox Code Playgroud)

&在控制器中,我只是想将它记录到控制台.

module.controller('ModuleListingController', function ($scope, $state, registerData) {
    var model = this;
    console.log("registerData : " + registerData);
}
Run Code Online (Sandbox Code Playgroud)

现在应用程序甚至没有启动,即我在控制台中收到错误说:

failed to instantiate module amcatUI due to:
TypeError: id.match is not a function
    at getArrayMode
Run Code Online (Sandbox Code Playgroud)

Nik*_*wal 5

$ state.go的已定义参数和toParamas的类型应该是状态转换两侧的相同数组或对象.只需在状态定义中使用默认值添加参数即可.

您需要更新代码

params: ['registerData'],
Run Code Online (Sandbox Code Playgroud)

params: {'registerData' : null},
Run Code Online (Sandbox Code Playgroud)

有关详细解答,请参阅" /sf/answers/1834286681/ ".

编辑

此外,您还需要更新

$state.go('root.moduleListing', {'registerdata': response});
Run Code Online (Sandbox Code Playgroud)

$state.go('root.moduleListing', {'registerData': response});
Run Code Online (Sandbox Code Playgroud)

有一个小错字错误.