У меня этот код в моем угловом приложении. Так как в коде говорится, что загружаются несколько видов, и я хочу передать один параметр.
.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
Но в этом случае registerData в контроллере всегда будет null. Я хочу, чтобы это значение передавалось в $ state.go – Ayush
Это будет ваше значение. null - это значение по умолчанию. Когда вы говорите $ state.go ('root.moduleListing', {'registerdata': response}); то в контроллере вы получите ответ как registerData. Попробуйте это – nikhil
Ошибка. $ state.go ('root.moduleListing', {'registerdata': response}); d в Данные должны быть в столицах. – nikhil