javascript - AngularJS 参数“fn”不是函数,未定义
问题描述
我对 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>'
});
});
./services/test.service.js
export const TestService = (ApiConstant) => {
'ngInject';
this.test = function() {
console.log(ApiConstant);
return ApiConstant;
};
};
./services/index.js
export * from './test.service';
./constants/api.js
export const ApiConstant = {
url: 'test'
};
./constants/index.js
export * from './api.constant';
./components/test.component.js
import template from './test.component.html';
import controller from './test.controller';
export const TestComponent = {
template,
controller
};
./components/test.controller.js
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'
])
推荐阅读
- kubernetes - Kubernetes - 将 cronjob 计划传递给容器 env
- javascript - 如何在 ThreeJS 中更改着色器颜色
- excel - 拖放后锁定文本框
- ruby - 创建适配器
- ruby-on-rails - 在规范中重新加载后 ActiveStorage 附件未关联
- c# - 基于平面对象创建嵌套对象
- spring-boot - 如何使用 MockMvcRequestBuilders 在 Spring Boot 2.0 中向模型添加查询参数
- karate - 有没有办法在空手道的场景大纲名称中添加数据表行号
- php - 使用 SSH 在 php 中测试 git 连接
- cluster-analysis - 如何计算 apache ignite 节点中可用的表大小?