【问题标题】:How do I fix "Uncaught TypeError: can't access property "whenGET", $httpBackend is undefined"?如何修复“未捕获的 TypeError:无法访问属性“whenGET”,$httpBackend 未定义”?
【发布时间】:2021-12-03 07:21:34
【问题描述】:

我正在尝试在使用严格 DI 的项目中使用以下 https://embed.plnkr.co/plunk/pWNOdA

在 app-mockbackend.js 中你可以看到如下设置 -

angular.module('app').run(function($httpBackend, ServerDataModel) {
    
    $httpBackend.whenGET('/games').respond(function(method, url, data) {
        var games = ServerDataModel.findAll();
        return [200, games, {}];
    });
}]);

当您在没有严格的情况下运行应用程序时,它运行良好,但是当您将 ng-strict-di 添加到您的应用程序时,我得到:

未捕获的类型错误:无法访问属性“whenGET”,$httpBackend 未定义

我已经阅读了文档和其他领域,我不得不在使用 strict 时对服务进行注释,并且错误已经消退,这很棒 - 我似乎无法弄清楚这一点。

【问题讨论】:

标签: javascript angularjs dependency-injection strict


【解决方案1】:

嘿,Dale,您尝试注释函数了吗?

https://docs.angularjs.org/guide/di#dependency-annotation

例如:

someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) { // ... }]);

【讨论】:

  • 嘿,兄弟,我已经复制了使用我们拾取的其他服务完成的注释,它仍然运行通过 $httpbackend 未定义或缩小的 n 未定义 - 也当调整 whenGET 到 when.get 它确实类似的事情 n.whenGET undefined 或不是函数
  • 是的,我也安装了 - 我想知道外部脚本的顺序是否正确,是否与顺序匹配,但我可能错过了一些东西
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-19
  • 2021-10-03
  • 2021-10-28
  • 1970-01-01
  • 2021-06-23
  • 2018-03-22
  • 2019-12-13
相关资源
最近更新 更多