Javascript 路由器解析未知提供程序
我正在尝试使用ui router resolve获取一些数据,以便在控制器中使用:Javascript 路由器解析未知提供程序,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我正在尝试使用ui router resolve获取一些数据,以便在控制器中使用: $stateProvider .state('home', { url: '/', templateUrl: 'templates/home.html', controller: 'homeCtrl', resolve: { friends: ['$http', function($http) {
$stateProvider
.state('home', {
url: '/',
templateUrl: 'templates/home.html',
controller: 'homeCtrl',
resolve: {
friends: ['$http', function($http) {
return $http.get('api/friends.json').then(function(response) {
return response.data;
})
}]
}
})
这是控制器:
angular.module('app').controller('homeCtrl', ['friends', function(friends) {
this.friends = friends;
}]);
HTML:
-
{{friend.name}:{{friend.age}
我怎样才能让它工作?我得到的消息告诉我如何定义服务。不太清楚怎么做。
另外,我知道我可以通过注入$scope使它工作。我希望避免这种情况,因为我正在尝试学习一些新的东西 您已包含控制器两次。一次在HTML中,一次在ui路由器中。因此,您实际上得到了控制器的两个实例 解决方案:从HTML中删除控制器包含,并将其添加到ui路由器$stateProvider:
controllerAs: 'home'
您是否检查了服务器返回的内容?是否导入了ui.router模块?是的,我导入了ui.router。服务器返回数据。就像我上面说的,如果我注入$scope,一切都会很好
controllerAs: 'home'