に更新されていない私は、コンポーネントのサービス変数を使用しようとしているが、サービスの機能が更新された変数は、ここでコンポーネントangular2 +:サービスは、可変成分
に変更しないことを呼び出しているとき、私のサービスは
import { Injectable } from '@angular/core';
import { environment } from 'environments/environment';
import { Observable } from 'rxjs/Observable';
const API_URL = environment.apiUrls.coreServiceUrl;
@Injectable()
export class LoadingBarService {
showspinner = {isStart : false};
start() {
this.showspinner.isStart = true;
console.log(this.showspinner);
console.log('start');
}
complete() {
this.showspinner.isStart = false;
console.log('complete');
}
}
です私はここに私のコンポーネントでshowspinnerを使用したい私のコンポーネントのコードは
component.ts
import { Component, OnInit, Input } from '@angular/core';
import { LoadingBarService } from './../../services/pageloader/spinner';
@Component({
selector: 'spinner',
templateUrl: './spinner.component.html',
styleUrls: ['./spinner.component.css']
})
export class SpinnerComponent implements OnInit {
showspinner;
public constructor(private loadingBarService: LoadingBarService) {
}
ngOnInit(){
this.showspinner = this.loadingBarService.showspinner;
}
}
です
component.html
<div *ngIf="showspinner.isStart" class="loading-icon"></div>{{showspinner | json}}
しかし、これshowspinner.isStart
変数をリアルタイムに更新されません。
いつshowSpinner.isStartの値を変更しますか? –
httpリクエストが呼び出されたときにHttpInterceptorを使用していますが、 'start()'が –
と呼んでいます。しかし、あなたはngOnInitの値を設定しているだけです。私は変数this.showSpinnerを参照しています、あなたはそれを更新しません –