Angularjs $routeParams不';不能在解析函数中工作

Angularjs $routeParams不';不能在解析函数中工作,angularjs,Angularjs,我正在使用这种技术来加载数据。因此,我创建了以下解析函数: NoteController.resolve = { note: function($routeParams, Note) { return Note.get($routeParams.key); } } 问题在于$routeParams.key在执行resolve函数时是未定义的。是否正确/错误?如何修复它?您需要使用$route.current.params.key。$routeParams仅在路

我正在使用这种技术来加载数据。因此,我创建了以下解析函数:

NoteController.resolve = {
    note: function($routeParams, Note) {
         return Note.get($routeParams.key);
    }
}

问题在于
$routeParams.key
在执行
resolve
函数时是
未定义的
。是否正确/错误?如何修复它?

您需要使用
$route.current.params.key
$routeParams
仅在路线更改后更新。因此,您的代码应该遵循以下几行:

NoteController.resolve = {
    note: function($route, Note) {
         return Note.get($route.current.params.key);
    }
}

非常感谢。为什么我需要$routeParams呢?我想当一个路由已经匹配和更改时,这是一个很好的API。但这确实有点令人困惑……您可以在控制器内部使用
$routeParams
,供使用
ui路由器的人使用,然后来到这里:
$stateParams
是一种方法,如果您使用的是
爱奥尼亚
框架,您将在解析函数中使用
$stateParams.key
,因为它使用了@beret所说的
ui路由器。我花了一段时间才意识到。。