2016-10-29 2 views
0

내 워크 플로가 로그인 한 후 프로필 페이지로 이동하여 프로필 API를 호출하고 HTML로 렌더링합니다. 문제는 API에서 매우 짧은 기간 동안 결과를 얻지 만 HTML 렌더링은 약 10-15 초를 렌더링하는 데 오랜 시간이 걸립니다. 프로필 페이지에서 새로 고침을하면 HTML이 즉시 렌더링됩니다. 내가 여기서 잘못 할 수 있습니다.각도 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

브라우저의 '타임 라인'탭을 확인하십시오. –

답변

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