我想添加一個加載微調器到這個組件,並且我試圖將代碼分成一個服務,所以我可以添加一個.subscribe
方法和當加載時停止微調器在此工作示例做,如:Angular2在用angularfire2加載數據後停止加載微調器
工作示例組件
ngOnInit(){
this._userService.getUsers()
.subscribe(users => {
this.users = users;
this.loadingUsers = false;
工作示例服務
getUsers(){
return this._http.get(this._url)
.map(response => response.json());
}
這是我試圖拆組件:
import { AngularFire, FirebaseObjectObservable , FirebaseListObservable } from 'angularfire2';
import {UserService} from './user.service';
import {SpinnerComponent} from './spinner.component'
export class UsersComponent implements OnInit{
items: FirebaseListObservable<any>;
constructor(af: AngularFire) {
this.items = af.database.list('/hr/users');
//this.loadingLista = false;
}
更新#1的答案
射門嘗試一個答案的鏡頭,以更好地理解問題的寧。
所以我創建將使用angularfire2顯示用戶UserService,巫婆現在我覺得是開始是主要的問題,我的意思是類型items: FirebaseListObservable<any>;
UserService
import { AngularFire } from 'angularfire2';
import {Injectable} from '@angular/core';
@Injectable()
export class UserService{
constructor(private _af: AngularFire){}
getUsers(){
return this._af.database.list('hr/users');
}
}
在UsersComponent我設法讓用戶像這樣的列表:
items: FirebaseListObservable<any>;
ngOnInit(){
this.items = this._userService.getUsers();
}
但現在我需要一種方法來停止微調加載完成後,我知道的唯一途徑是與
.subscribe()
:
items: FirebaseListObservable<any>;
loadingLista = true;
constructor(private _userService: UserService) {
}
ngOnInit(){
this._userService.getUsers();
.subscribe(
x => this.items = x,
this.loadingLista = false
)
}
,但是這並未」因爲items
的tipe工作。
除.subscribe()
之外有沒有其他方法可以做到這一點?或者我可以將items
的類型轉換成別的東西嗎?
問題是什麼? – AngJobs
我會在答案上添加一個鏡頭,所以我希望它更清晰。 –
我猜這個場景中的最後一個問題是不允許使用'.subscribe()'方法停止微調的'items'類型。我更新了這個問題。 –