2016-10-29 6 views
0

私のワークフローはログイン後、プロファイルページを呼び出してプロファイルAPIを呼び出し、それをHTMLにレンダリングするだけです。問題は、APIからの結果が非常に短い期間に得られることですが、HTMLレンダリングでは約10-15秒のレンダリングに時間がかかります。そして私がプロフィールページでリフレッシュすると、HTMLを即座にレンダリングします。 私はここで間違っているかもしれません。Angular 2データバインディング初回問題

HTML:

<div class="row"> 
    <div class="col-md-12"> 
     <div>{{profiles.name}}</div> 
    </div> 
    <div class="col-md-12"> 
     <div>{{profiles.email}}</div> 
    </div> 
</div> 

JS:

ngOnInit() { 
    this.profilesService.getProfiles() 
    .subscribe(res => { 
     // console.log(res); 
     if(!res.err){ 
      this.profiles = res.data[0]; 
      // console.log(this.profiles); 
     } 
    }); 
} 
+0

伝えるのは難しいです。ブラウザのプロファイリングとは何ですか?devtoolsは、ブラウザが何を待っているかを教えてくれますか? –

+0

これはほぼ即座にデータを返し、コンソールのデータを見ることができます – Sahil

+0

ブラウザのdevtoolsの 'Timeline'タブを確認してください。 –

答えて

0
JS: 

//define profile variable as Observable 
profiles: Observable<any> 

ngOnInit() { 
    this.profiles = this.profilesService.getProfiles() 
    .map(res => { 
     //take only .data[0] 
     return res.data[0] 
    }); 
} 

HTML 
<div class="row"> 
    <div class="col-md-12"> 
     <div>{{(profiles | async)?.name}}</div> 
    </div> 
    <div class="col-md-12"> 
     <div>{{(profiles | async)?.email}}</div> 
    </div> 
</div> 
+0

これは動作していません – Sahil

関連する問題