角度 - 路由解析服务问题

角度 - 路由解析服务问题

问题描述:

我正在研究一个角度应用程序。角度 - 路由解析服务问题

在当前版本中 - 有一个控制器在用户按下按钮时被调用 - 它打开一个模式窗口并填充内容。

我试图删除模式并重新配置应用程序,使其进入到一个新的页面

的第一页是当你点击一个人的人/people 列表,它会去一个页面像/people/view/34323

我想配置这样的应用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没有被传递到解析函数,它就好像是persondatathen,承诺不回电?

通行证$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问题。

+0

它也写在咖啡脚本。 - 我仍然试着将代码硬编码到服务函数中 - 但它仍然没有采用。也许这不是正确的预期情况? –

+0

如果你只是在一个解析函数中使用'console.log($ state)',会发生什么? – FrankerZ

+0

_我必须在明天查看。这是我在今天比赛结束时所坚持的一项任务。 –