我正在进行角度应用。
在当前构建中 - 有一个控制器在用户按下按钮时被调用 - 它打开一个模态窗口并按原样填充内容。
我正在尝试删除模式并重新配置应用程序,以便它转到新页面
第一页是人员列表/people
当您点击某个人时,它会转到/people/view/34323
我正在尝试像这样配置app stateprovider堆栈:
$stateProvider
.state('people-view', {
url: "/people/view/:id",
templateUrl: "partials/people/people-view.html",
controller: personDialogController,
resolve: {
politicservice:function(personservice){
personservice.getPolitics(id).then = persondata.data;
}
biography:function(personservice){
personservice.getBio(id).then = persondata.data;
}
dialogueId:function(personservice){
//id
}
}
})
这将创建基本页面......但是现在用于此控制器的服务现在没有。
好像没有将id传递给resolve函数,就好像persondata
then
,承诺没有回调?
答案 0 :(得分:1)
将$stateParams
传递给解析函数:
$stateProvider
.state('people-view', {
url: "/people/view/:id",
templateUrl: "partials/people/people-view.html",
controller: personDialogController,
resolve:
politicservice:function(personservice, $stateParams){
return personservice.getPolitics($stateParams.id);
}
biography:function(personservice, $stateParams){
return personservice.getBio($stateParams.id);
}
dialogueId:function(personservice, $stateParams){
//$stateParams.id
}
})
$stateParams
将包含url字符串中定义的所有参数的对象。有关详细信息,请参阅this问题。