javascript - angular controller 获取不到factory 里的数据 报错信息 is not a function

查看:128
本文介绍了javascript - angular controller 获取不到factory 里的数据 报错信息 is not a function的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

这是factory 里的内容

angular.module('partsShopApp').factory('indexInfo',function($http,$q){
    return {
        query: function(){
            var deferred = $q.defer();
            $http.jsonp('http://xxx:8080/testIndex.html?callback=JSON_CALLBACK')
                .then(function(data,status,headers,config){
                    deferred.resolve(data);
                },function(data){
                    deferrd.reject(data);
                });
            return deferred.promise;
        }
    };
});

这是控制器里的内容

angular.module('partsShopApp').controller('home', ['indexInfo', '$scope','$q', function ($scope,$q, indexInfo) {

   indexInfo.query.then(function(data){
       $scope.data = data;
   },function(data){
       console.log('aaa');
   });
}]);

这是报错信息

如果 把 控制器 的内容改成 query()

angular.module('partsShopApp').controller('home', ['indexInfo', '$scope','$q', function ($scope,$q, indexInfo) {

   indexInfo.query().then(function(data){
       $scope.data = data;
   },function(data){
       console.log('aaa');
   });
}]);

会报错

怎么办呢?

解决方案

注入服务顺序和控制器中的顺序不一样

这篇关于javascript - angular controller 获取不到factory 里的数据 报错信息 is not a function的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆