Angular. Введение в сервисы
Сервисы в Angular — это простые классы, которые выполняет некоторые специфичные операции, не связанные с компонентами (вычисления, чтение данных с удаленного HTTP сервера и пр).
У сервисов есть специальный декоратор @Injectable(), который обозначает данный класс как сервис. В качестве параметра декоратора используется свойство providedIn, которое определяет ареал использования данного сервиса. В компонент сервис подключается с использованием процесса dependency injection.
Код урока (сервис)
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class UserService {
constructor() { }
getUser(): any {
return {login: 'login', roles: ['admin', 'editor']};
}
}
Код урока (компонент)
import { Component } from '@angular/core';
import { UserService } from './user.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
// providers: [UserService]
})
export class AppComponent {
title = 'Click me';
user: any;
constructor(private _userService: UserService){
}
getUser() {
this.user = this._userService.getUser();
console.log(this.user);
}
getString() {
return 'Angular works';
}
}
Код урока (шабон компонента)
<button (click)="getUser()">{{title}}</button>
<p>{{1+1}}</p>
<p>{{getString()}}</p>
<p>{{user.login}}</p>
0 Comments