首页 > 解决方案 > 如何在 Angular 的一个组件中添加多个服务

问题描述

src/app/header1/header1.component.ts:3:30 中的错误 - 错误 TS2306:文件 'F:/Angular-projects/lawyer-listing/src/app/services/state.service.ts' 不是模块.

3 import { StateService } from '../services/state.service';
                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/app/app.module.ts:40:30 - error TS2306: File 'F:/Angular-projects/lawyer-listing/src/app/services/state.service.ts' is not a module.

40 import { StateService } from './services/state.service';
                                ~~~~~~~~~~~~~~~~~~~~~~~~~~

标签: angularservicecomponents

解决方案


您不能多次导入服务,也必须制作您的服务injectable,对于多个服务,您可以如下定义服务或methods在服务下制作。

--cart
  -- cart.component.ts
  -- ***

-- yourServiceFolder
  -- state.service.ts
  -- another.service.ts

状态服务.ts

import { Injectable } from '@angular/core';

@Injectable({
   providedIn: 'root'
})

export class StateService {
     myServiceMethod(){
        //return
     }
}

购物车.component.ts

import { Component, OnInit, Input } from '@angular/core';
import { StateService } from '../yourServiceFolder/state.service';
import { AnotherService } from '../yourServiceFolder/another.service';

***

constructor(
   private stateService: StateService,
   private anotherService: AnotherService
) { }

推荐阅读