提供的Angular 7服务在:'root'

时间:2019-05-31 13:17:22

标签: angular service angular6 angular7 ng-modules

我对角度开发还很陌生,所以如果这是一个非常基本的问题,请原谅我

但是我有一个购物车服务,目前我只具有简单的控制台日志功能

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

@Injectable({
  providedIn: 'root'
})
export class CartService {

  constructor( ) {}
  
  public addItem() {
    console.log('Hello');
  }
}

并且基本上我无法弄清楚如何在已安装的NG模块中使用该服务,我已通过构造函数在其他组件中成功使用了该服务,但是ngmodule没有此服务?

通过使用providerIn:在角度6中添加的“ root”标签,我得到了一个在应用程序模块级别上的单例的事实

但是只是不知道如何调用cartService.addItem()?

谢谢任何人的帮助!

3 个答案:

答案 0 :(得分:1)

您可以像这样使用依赖注入来调用服务

NULL

答案 1 :(得分:0)

下面是如何在组件中使用服务的示例代码:

Component.ts

import { Component, OnInit} from '@angular/core';
import { yourSeerviceName } from "PATH_TO_SERVICE";
@Component({
    selector: 'app-dummy',
    styleUrls: ['dummy.component.sass'],
    templateUrl: 'dummy.component.html'
})


export class yourComponent implements OnInit {
    // you can provide any name for variable it's upto you
    constructor(private dummyService:yourSeerviceName) {

    }

    //access the method in you'r service by performing below action.
    this.dummyService.yourMethod();
}

答案 2 :(得分:-1)

如果创建了新模块,则需要将服务引入模块,方法是转到.module.ts文件,然后将服务添加到providers数组。会是这样的:

providers: [
    CartService
  ],