Angular second dependency injection

import { Injectable } from '@angular/core';
import { ProductServiceService, Product } from './product-service.service';

@Injectable()
export class AnotherProductServiceService implements ProductServiceService {

  getProduct(): Product {
    return new Product(2, "sunsung7");
  }
  constructor() { }

}
import { Component, OnInit } from '@angular/core';
import { Product, ProductServiceService } from '../shared/product-service.service';
import { AnotherProductServiceService } from '../shared/another-product-service.service';

@Component({
  selector: 'app-product2',
  templateUrl: './product2.component.html',
  styleUrls: ['./product2.component.css'],
  providers: [{
    provide:ProductServiceService,useClass:AnotherProductServiceService
  }]
})
export class Product2Component implements OnInit {

  product: Product;

  constructor(private productService: ProductServiceService) { }

  by OnInit () {
    this.product = this.productService.getProduct();
  }

}
<p>
    ProductId:{{product.id}}
  </p>
  <p>
      Product description: {{product.title}}
    </p>
    
  
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';


import { AppComponent } from './app.component';
import { Product1Component } from './product1/product1.component';
import { ProductServiceService } from './shared/product-service.service';
import { Product2Component } from './product2/product2.component';


@NgModule ({
  declarations: [
    AppComponent,
    Product1Component,
    Product2Component
  ],
  imports: [
    BrowserModule
  ],
  providers: [ProductServiceService],
  bootstrap: [AppComponent]
})
export class AppModule { }

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324690488&siteId=291194637