类型错误:api.getAll是不是一个功能,服务方法无法识别 [英] TypeError: api.getAll is not a function, service method is not recognized

查看:209
本文介绍了类型错误:api.getAll是不是一个功能,服务方法无法识别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个非常简单的服务和控制器试图从它那里得到一些信息,但我不断收到.methodName不是一个函数。

I have a very simple service and a controller attempting to get some information from it, but I keep getting .methodName is not a function.

下面是服务, apiService.js

(function (module) {

    function api() {

        var sharedService = {};

        sharedService = {

            getAll: function () {
                return 'test';
            }
        };
        return sharedService;

    }

    module.factory("api", api);


}(angular.module("anbud")));

然后我尝试使用我的方法GETALL控制器,就像这样:

Then I attempt to use my method getAll in the controller, like this:

(function () {
    'use strict';

    angular.module('anbud')
      .controller('BasicExampleCtrl', ['$scope', 'api', function (api, $scope) {

           // on successfull request
          function onJson(json) {
              $scope.data = json;
          }

          // error getting json
          function onError() {
              throw 'error getting json';
          }

          function initialize() {

              api.getAll()
                  .then(onJson, onError);
          }

          initialize();

      }]);

}());

但我得到的错误:

But I get the error:

TypeError: api.getAll is not a function
    at initialize (basic-example.js:67)

任何帮助是AP preciated谢谢。

Any help is appreciated thank you.

推荐答案

您已经互换,因为它们都包含控制器工厂函数里面的依赖序列,序列必须是相同的在 DI阵列,而在功能注入。

You have interchanged the dependencies sequence inside controller factory function, the sequence must be same as they are included in DI array while injecting in function.

code

.controller('BasicExampleCtrl', ['$scope', 'api', function ($scope, api) { //<- first $scope then api.

这篇关于类型错误:api.getAll是不是一个功能,服务方法无法识别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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