javascript - Angular - 路由解决服务问题

标签 javascript angularjs

我正在开发一个 Angular 应用程序。

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

我正在尝试删除模式并重新配置应用程序,以便它进入新页面

第一页是人员列表/people 当你点击一个人时,它会转到类似 /people/view/34323

的页面

我正在尝试像这样配置应用程序状态提供程序堆栈:

$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
        }
    }
})

这将创建基本页面...但以前适用于此 Controller 的服务现在不再适用。

就好像 id 没有被传递到解析函数中,并且好像 persondata then,promise 没有回调?

最佳答案

$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问题以获取更多信息。

关于javascript - Angular - 路由解决服务问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38597334/

相关文章:

javascript - 在EventEmitter上,我如何知道我可以监听的所有事件?

angularjs - 在angular js中显示两个数组的交集

javascript - scriptProcessorNode.onaudioprocess 无法访问全局变量

javascript - 使用 javascript 在 web View 中与网页通信

javascript - selenium-webdriver node.js : how to handle missing element after wait timeout (exception can't seem to be caught)

javascript - form.$error.required 和 form.$invalid 的冲突验证

javascript - 来自指令模板 AngularJS 的事件

AngularJS - UI 路由器 - 如何配置动态 View

javascript - AngularJS - $resource.save 后卡住处理响应(需要 json)

javascript - 如何防止超过 2 个 tokbox 客户端?