Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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 为什么我必须加上尾巴';供应商';当我使用es6时,将其命名为服务名称_Javascript_Angularjs - Fatal编程技术网

Javascript 为什么我必须加上尾巴';供应商';当我使用es6时,将其命名为服务名称

Javascript 为什么我必须加上尾巴';供应商';当我使用es6时,将其命名为服务名称,javascript,angularjs,Javascript,Angularjs,我的角度版本是1.4.8 我有一个用es-6类定义的服务 class OrdersService { ... } export default angular.module('services.orders', []) .service('ordersService', OrdersService) .name; 我想把它注入另一个模块 import ordersService from 'orders.service' function routes($state

我的角度版本是1.4.8

我有一个用es-6类定义的服务

class OrdersService {
    ...
}

export default angular.module('services.orders', [])
    .service('ordersService', OrdersService)
    .name;
我想把它注入另一个模块

import ordersService from 'orders.service'

function routes($stateProvider, ordersService) {
       ....
}

routes.$inject = ['$stateProvider', 'ordersService'];

export default angular
    .module('orders',[ordersService])
    .config(routes)
但异常表示“找不到提供程序orderService”。但将尾部“提供者”添加到服务中使其工作

routes.$inject = ['$stateProvider', 'ordersServiceProvider'];
在本文中,作者没有添加,但仍在工作。


为什么我需要向服务添加“提供者”?是否有api文档声明?

在角度
配置
阶段,您只能使用提供者。使用
.service
(或
.factory
)是创建提供者的简写。您也可以使用
.provider
,但必须更明确地创建提供程序

提供者和
.config
阶段用于配置应用程序中使用的服务。由于您没有进行任何配置,因此将
orderService
注入
.config
中不会带来任何好处


也许您可以在angular
config
阶段将其注入

,您只能使用提供者。使用
.service
(或
.factory
)是创建提供者的简写。您也可以使用
.provider
,但必须更明确地创建提供程序

提供者和
.config
阶段用于配置应用程序中使用的服务。由于您没有进行任何配置,因此将
orderService
注入
.config
中不会带来任何好处

也许您可以将其注入到您可以使用的中,而不是手动执行此操作

在构造函数上添加特殊注释:

export default class HomeController {
   /*@ngInject*/
   constructor(randomNames) {
     this.randomNames = randomNames;
   }
}
然后将ng annotate插件添加到构建过程中,它将为您描述该注入。

您可以使用它,而不是手动执行此操作

在构造函数上添加特殊注释:

export default class HomeController {
   /*@ngInject*/
   constructor(randomNames) {
     this.randomNames = randomNames;
   }
}

然后将ng annotate插件添加到构建过程中,它将为您描述注入。

函数路由($stateProvider,$ordersService)
我们不会对它们使用
$
。。也许这就是导致你死亡的原因trouble@Minato谢谢,美元是个打字错误。$inject上出现异常。
函数路由($stateProvider,$ordersService)
我们不使用它们。。也许这就是导致你死亡的原因trouble@Minato谢谢,美元是个打字错误。例外情况为$inject。