Сервисы не имеют представлений
ng g service [имя сервиса]
Примечание!!! После генерации сервиса обновление app.component.ts не происходит.
И поэтому нам самим вручную нужно прописать ссылку на сервис в файле app.module.ts
import { NewServiceService } from './new-service.service';
...
@NgModule({
...
providers: [NewServiceService]
})
...
Код сервиса представлен ниже, в нем для тестирования создан метод consoleText (1), далее в любом из компонентов создаем в конструкторе ссылку на этот сервис, как аргумент (2) после чего можно вызывать метод.
Примечание: наличие импорта на сервис обязательно (3)
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class NewServiceService {
consoleText(arg) { // (1)
console.log(arg);
}
constructor() { }
}
import { Component } from '@angular/core';
import { NewServiceService } from './new-service.service'; (3)
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'appcode pw';
constructor(svc: NewServiceService) { // (2)
svc.consoleText("Hello World");
}
}