[英]Angular 7 Service providedIn: 'root'
我對角度開發很新,所以如果這是一個非常基本的問題,請原諒我
但我有一個購物車服務,我目前只有一個簡單的控制台日志功能
import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class CartService { constructor( ) {} public addItem() { console.log('Hello'); } }
基本上我無法弄清楚如何在我安裝的NG模塊中使用此服務,我已成功通過構造函數在其他組件中使用它,但ngmodule沒有這個?
通過使用在角度6中添加的providedIn:'root'標簽,我得到了它在app-module級別的單例
但只是無法弄清楚如何調用cartService.addItem()?
謝謝,如果有人可以幫助!
您可以像這樣使用依賴注入來調用服務
export class AppComponent {
constructor(private cartService: CartService) {
}
doSomething() {
this.cartService.addItem();
}
}
以下是如何在組件中使用服務的示例代碼:
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();
}
如果您創建了一個新模塊,則需要將該服務引入模塊,方法是轉到.module.ts
文件並將服務添加到providers
數組中。 它將是這樣的:
providers: [
CartService
],
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.