无法使用 $state.go 发送数据
Not able to send data using $state.go
我的 angular 应用程序中有此代码。所以正如代码所说,加载了多个视图,我想传递一个参数。
.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',
}
}
}
&我用
调用它
$state.go('root.moduleListing', {'registerdata': response});
& 在控制器中,我只是想将它记录到控制台。
module.controller('ModuleListingController', function ($scope, $state, registerData) {
var model = this;
console.log("registerData : " + registerData);
}
现在应用程序甚至无法启动,即我在控制台中收到一条错误消息:
failed to instantiate module amcatUI due to:
TypeError: id.match is not a function
at getArrayMode
定义参数的类型和$state.go的toParamas在状态转换的两边应该是相同的数组或对象。只需在状态定义中添加具有默认值的参数即可。
您需要从
更新您的代码
params: ['registerData'],
至
params: {'registerData' : null},
详细答案可参考“”
编辑
此外,您还需要更新
$state.go('root.moduleListing', {'registerdata': response});
到
$state.go('root.moduleListing', {'registerData': response});
有一个小错别字。
我的 angular 应用程序中有此代码。所以正如代码所说,加载了多个视图,我想传递一个参数。
.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',
}
}
}
&我用
调用它$state.go('root.moduleListing', {'registerdata': response});
& 在控制器中,我只是想将它记录到控制台。
module.controller('ModuleListingController', function ($scope, $state, registerData) {
var model = this;
console.log("registerData : " + registerData);
}
现在应用程序甚至无法启动,即我在控制台中收到一条错误消息:
failed to instantiate module amcatUI due to:
TypeError: id.match is not a function
at getArrayMode
定义参数的类型和$state.go的toParamas在状态转换的两边应该是相同的数组或对象。只需在状态定义中添加具有默认值的参数即可。
您需要从
更新您的代码params: ['registerData'],
至
params: {'registerData' : null},
详细答案可参考“”
编辑
此外,您还需要更新
$state.go('root.moduleListing', {'registerdata': response});
到
$state.go('root.moduleListing', {'registerData': response});
有一个小错别字。