Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 路由器解析未知提供程序_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript 路由器解析未知提供程序

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) {

我正在尝试使用ui router resolve获取一些数据,以便在控制器中使用:

$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'