Angular Service 2 – Injector

Injector

Create instance to use get method.

For other injection, please check Angular Service 1

Example

Service

simpleservice.service.ts

import { Injectable } from '@angular/core';
 
@Injectable()
export class SimpleService {
  created: Date;
 
  constructor() {
    this.created = new Date();
  }
 
  show() {
    return this.created.toLocaleString();
  }
}

Use injector in Component

injector/injector.component.ts

import { Component, Injector } from '@angular/core';
import { SimpleService } from '../simpleservice.service';
 
@Component({
  selector: 'app-root',
  template: `
<div>Injector : {{current}}</div>
                                  `
})
export class InjectorComponent {
  current: string;
 
  constructor(private injector: Injector) {
    const service = this.injector.get(SimpleService);
    this.current = service.show();
  }
}

Set Injector in constructor, and call get method to make service instance.

This service instance can call method in Service class.

コメント