Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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 AngularJS论证';fn';不是函数,未定义_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS论证';fn';不是函数,未定义

Javascript AngularJS论证';fn';不是函数,未定义,javascript,angularjs,Javascript,Angularjs,我对AngularJS 1.6有问题,错误消息是: 错误:[ng:areq]参数“fn”不是函数,未定义 我知道这是我的testService的问题,请帮助查找问题 /app.js import angular from 'angular'; import uiRouter from 'angular-ui-router'; import Components from './components/components'; import { TestComponent } from './tes

我对AngularJS 1.6有问题,错误消息是:

错误:[ng:areq]参数“fn”不是函数,未定义

我知道这是我的testService的问题,请帮助查找问题

/app.js

import angular from 'angular';
import uiRouter from 'angular-ui-router';
import Components from './components/components';
import { TestComponent } from './test/test.component';
import { ApiConstant } from './constants';
import { TestService } from './services';

angular.module('myApp', [
    uiRouter,
    Components
  ])
  .component('testPage', TestComponent)
  .service('TestService', TestService)
  .constant('ApiConstant', ApiConstant)
  .config(($stateProvider) => {
    'ngInject';
    $stateProvider
      .state('home', {
        url: '',
        template: '<test-page></test-page>'
      });
  });
export const TestService = (ApiConstant) => {
  'ngInject';

  this.test = function() {
    console.log(ApiConstant);
    return ApiConstant;
  };
};
export * from './test.service';
export const ApiConstant = {
  url: 'test'
};
export * from './api.constant';
import template from './test.component.html';
import controller from './test.controller';

export const TestComponent = {
  template,
  controller
};
export default function TestController($scope, ApiConstant, TestService) {
  'ngInject';
  console.log(ApiConstant.url);
  console.log(TestService.test());
}
/services/index.js

import angular from 'angular';
import uiRouter from 'angular-ui-router';
import Components from './components/components';
import { TestComponent } from './test/test.component';
import { ApiConstant } from './constants';
import { TestService } from './services';

angular.module('myApp', [
    uiRouter,
    Components
  ])
  .component('testPage', TestComponent)
  .service('TestService', TestService)
  .constant('ApiConstant', ApiConstant)
  .config(($stateProvider) => {
    'ngInject';
    $stateProvider
      .state('home', {
        url: '',
        template: '<test-page></test-page>'
      });
  });
export const TestService = (ApiConstant) => {
  'ngInject';

  this.test = function() {
    console.log(ApiConstant);
    return ApiConstant;
  };
};
export * from './test.service';
export const ApiConstant = {
  url: 'test'
};
export * from './api.constant';
import template from './test.component.html';
import controller from './test.controller';

export const TestComponent = {
  template,
  controller
};
export default function TestController($scope, ApiConstant, TestService) {
  'ngInject';
  console.log(ApiConstant.url);
  console.log(TestService.test());
}
/constants/api.js

import angular from 'angular';
import uiRouter from 'angular-ui-router';
import Components from './components/components';
import { TestComponent } from './test/test.component';
import { ApiConstant } from './constants';
import { TestService } from './services';

angular.module('myApp', [
    uiRouter,
    Components
  ])
  .component('testPage', TestComponent)
  .service('TestService', TestService)
  .constant('ApiConstant', ApiConstant)
  .config(($stateProvider) => {
    'ngInject';
    $stateProvider
      .state('home', {
        url: '',
        template: '<test-page></test-page>'
      });
  });
export const TestService = (ApiConstant) => {
  'ngInject';

  this.test = function() {
    console.log(ApiConstant);
    return ApiConstant;
  };
};
export * from './test.service';
export const ApiConstant = {
  url: 'test'
};
export * from './api.constant';
import template from './test.component.html';
import controller from './test.controller';

export const TestComponent = {
  template,
  controller
};
export default function TestController($scope, ApiConstant, TestService) {
  'ngInject';
  console.log(ApiConstant.url);
  console.log(TestService.test());
}
/constants/index.js

import angular from 'angular';
import uiRouter from 'angular-ui-router';
import Components from './components/components';
import { TestComponent } from './test/test.component';
import { ApiConstant } from './constants';
import { TestService } from './services';

angular.module('myApp', [
    uiRouter,
    Components
  ])
  .component('testPage', TestComponent)
  .service('TestService', TestService)
  .constant('ApiConstant', ApiConstant)
  .config(($stateProvider) => {
    'ngInject';
    $stateProvider
      .state('home', {
        url: '',
        template: '<test-page></test-page>'
      });
  });
export const TestService = (ApiConstant) => {
  'ngInject';

  this.test = function() {
    console.log(ApiConstant);
    return ApiConstant;
  };
};
export * from './test.service';
export const ApiConstant = {
  url: 'test'
};
export * from './api.constant';
import template from './test.component.html';
import controller from './test.controller';

export const TestComponent = {
  template,
  controller
};
export default function TestController($scope, ApiConstant, TestService) {
  'ngInject';
  console.log(ApiConstant.url);
  console.log(TestService.test());
}
/components/test.component.js

import angular from 'angular';
import uiRouter from 'angular-ui-router';
import Components from './components/components';
import { TestComponent } from './test/test.component';
import { ApiConstant } from './constants';
import { TestService } from './services';

angular.module('myApp', [
    uiRouter,
    Components
  ])
  .component('testPage', TestComponent)
  .service('TestService', TestService)
  .constant('ApiConstant', ApiConstant)
  .config(($stateProvider) => {
    'ngInject';
    $stateProvider
      .state('home', {
        url: '',
        template: '<test-page></test-page>'
      });
  });
export const TestService = (ApiConstant) => {
  'ngInject';

  this.test = function() {
    console.log(ApiConstant);
    return ApiConstant;
  };
};
export * from './test.service';
export const ApiConstant = {
  url: 'test'
};
export * from './api.constant';
import template from './test.component.html';
import controller from './test.controller';

export const TestComponent = {
  template,
  controller
};
export default function TestController($scope, ApiConstant, TestService) {
  'ngInject';
  console.log(ApiConstant.url);
  console.log(TestService.test());
}
/components/test.controller.js

import angular from 'angular';
import uiRouter from 'angular-ui-router';
import Components from './components/components';
import { TestComponent } from './test/test.component';
import { ApiConstant } from './constants';
import { TestService } from './services';

angular.module('myApp', [
    uiRouter,
    Components
  ])
  .component('testPage', TestComponent)
  .service('TestService', TestService)
  .constant('ApiConstant', ApiConstant)
  .config(($stateProvider) => {
    'ngInject';
    $stateProvider
      .state('home', {
        url: '',
        template: '<test-page></test-page>'
      });
  });
export const TestService = (ApiConstant) => {
  'ngInject';

  this.test = function() {
    console.log(ApiConstant);
    return ApiConstant;
  };
};
export * from './test.service';
export const ApiConstant = {
  url: 'test'
};
export * from './api.constant';
import template from './test.component.html';
import controller from './test.controller';

export const TestComponent = {
  template,
  controller
};
export default function TestController($scope, ApiConstant, TestService) {
  'ngInject';
  console.log(ApiConstant.url);
  console.log(TestService.test());
}

所以ApiConstant工作正常,但TestService生成错误,当我将从控制器中删除TestService时,它的工作正常,这可能是什么?

模块依赖项应该是字符串:

错误的

angular.module('myApp', [
    uiRouter,
    Components
  ])
应该是:

angular.module('myApp', [
    'uiRouter',
    'Components'
  ])

可能与您的服务是一个箭头函数有关,同时也使用
更改为导出默认函数TestService(apiconstat),但不起作用hmm您能创建一个实例吗?