【发布时间】:2017-08-07 14:19:47
【问题描述】:
我有这项服务:
app.service("UserService", function(){
var userService = {};
userService.userInfo = [
{firstName: "John", lastName: "Doe"},
{firstName: "Carl", lastName: "Smith"}
];
return userService;
});
我想将它注入 .config 以定义路由(我正在使用 ui-router)
app.config(["userService", function($stateProvider, userService){
$stateProvider
.state("#",{
templateUrl: "index.html",
controller: "UserListController"
})
.state('users', {
url: '/user/:username',
templateUrl: "view/userProfile.html",
controller: "UserListController",
params: { username: userService.userInfo[0].firstName}
})
...
这不能正常工作。关于我可以在该服务中注入数据以供 .config 访问的任何想法吗?
谢谢你:)
【问题讨论】:
-
也许这只是您的问题中的拼写错误,但是您的服务名称以大写开头,但是当您包含它时,您忘记了这个大写
-
不,我认为这不是问题。问题是它似乎无法访问参数中的 userService.userInfo[0].firstName。如果我只是将其更改为字符串,它就可以正常工作
标签: angularjs parameters angular-ui-router config inject