我可以看到在访问此路由之前在loadProfile中调用RESTful服务....
$routeProvider.when('/editProfile', {
templateUrl: '/views/user/editprofile',
controller: 'UserCtrl',
access: access.user,
resolve: {
userProfile: function(UserSvc){
UserSvc.loadProfile(function(userProfile){ return userProfile });
}
}
});
那么如何将数据注入我的用户控制器?
更新1 :
Matt Way告诉我如何在我的控制器中注入已解析的数据。但是,我立即收到错误“Unknown Provider:userProfileProvider”。基于其他一些类似的问题,我决定尝试从相关视图中删除ng-controller =“UserCtrl”属性。我的/ editProfile路由的未知提供程序错误消失,但随后开始出现在此控制器的所有其他视图/路由上。
更新2
我在egghead.io上观看了几个视频,发现我能够访问$ route中的承诺数据。将此添加到我的控制器并瞧!
if($route.current.locals.userProfile){
$scope.userProfile = $route.current.locals.userProfile;
}
答案 0 :(得分:0)
只需包含解析项名称作为控制器功能的输入。例如:
myApp.controller('UserCtrl', ['$scope', 'userProfile',
function($scope, userProfile) {
// Controller code goes here
}]);
答案 1 :(得分:0)
您可以退回已加载的个人资料吗?我认为这就是你收到未知提供商错误的原因。
function (UserSvc) {
return UserSvc.loadProfile(function(userProfile) { return userProfile });
}
作为旁注,我看到你的评论粘贴你的控制器功能,看起来有很多依赖。可能更好地减少所需的协作者数量。