Добрый день.
Хочу сделать вывод переменных в шаблон из базы. Сделал сервис
import {Http} from 'angular2/http';
import {Injectable} from 'angular2/core';
import 'rxjs/Rx';
@Injectable()
export class MainService {
public http:Http;
public localhostUrl = 'http://localhost:3000/api/v1/main/text/';
public pageTitleBase:Object = {};
constructor(http: Http) {
this.http = http;
}
getVar() {
return this.http.get(this.localhostUrl)
.map(res => res.json())
.toPromise();
}
}
и вызываю его в компоненте
import {Component} from 'angular2/core';
import {CORE_DIRECTIVES} from 'angular2/common';
import {MainService} from '../../shared/services/main.service';
import {Title} from 'angular2/platform/browser';
@Component({
selector: 'sd-home',
moduleId: module.id,
viewProviders: [MainService],
templateUrl: './home.component.html',
styleUrls: ['./home.component.css'],
directives: [CORE_DIRECTIVES]
})
export class HomeComponent {
public pageTitle : String;
private text_content : Object;
constructor (private _title:Title, private _main:MainService) {}
ngOnInit() { this.getTextContent(); }
getTextContent() {
this._main.getVar()
.subscribe(text_content =>
this.text_content = text_content,
error => this.errorMessage = <any>error);
}
}
И идёт постоянный вызов API, безостановочный. Как сделать, чтобы данные "забрались" один раз и успокоились на этом?