首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngResource/$资源未正确注入

ngResource/$资源未正确注入
EN

Stack Overflow用户
提问于 2015-11-16 16:15:52
回答 1查看 88关注 0票数 0

当前的任务是为API编写客户端。$resource模块没有得到正确的注入。我将ngResource注入到模块中,然后将其传递到工厂声明中。但是,在控制器内部,如果我尝试console.log($resource),则会得到以下错误:

TypeError: 'undefined' is not a function (evaluating '$resource('https://ourlink.nl',options)')

我确信这个问题正在发生/不在app.js中发生,但如果您有其他想法,则可以接受输入。你能帮我找出问题吗?

restClient.js

代码语言:javascript
复制
function restClient ($resource) {
  'use strict';
  var options = {};

  init();

  return {
    endpoint: self.endpoint,
    sendRequest: sendRequest
  };

  function init () {
    self.endpoint = 'https://ourlink.nl';
  }

  function sendRequest () {
    $resource('https://ourlink.nl', options);
    return true;
  }

}

module.exports = restClient;

app.js

代码语言:javascript
复制
var angular = require('angular');

// imports
require('angular-resource');

(function (angular, config, loaders, controllers, services, providers) {
      'use strict';

      angular
        .module('at.annabel', [
        'ngLocale',
        'ngRoute',
        'ngResource',
        'ngSanitize',
        'pascalprecht.translate',
        'ui.bootstrap'
      ])

    // constants
      .constant('translations', config.translations)

    // config
      .config([
        '$locationProvider',
        'config.BASE_PATH',
        providers.locationProvider
      ])

    // services
      .factory(
        'restClient',
        ['$resource', services.restClient]
      )

    // controllers
      .controller(
        'PlaceholderController',
        [controllers.PlaceholderController]
      )
    ;
}
        ))(
    angular,
    // config
    {
        menu: require('./config/menu').config
...
        }
    },
    // loaders
    {
        localeLoader: require('./config/locale-loader')
    },
    // controllers
    {
        PlaceholderController: require('./modules/placeholder/placeholder-controller')
    },
    // services
    {
        restClient: require('./services/restClient')
    },
    //providers
    {
        locationProvider: require('./config/location-provider')
    }
);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-17 10:59:10

原来它一直都在那里。由于应用程序没有在浏览器中调用restClient.js,所以我只看到测试中调用的模块。没有为$resource正确地设置测试运行程序,需要通过测试将$resource注入模块。感谢每一个花时间阅读和调查的人。我被app.js文件缠住了,因为它太不传统了,但事实证明整个文件是合法的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33739869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档