2017-10-11 1 views
-1

내 서비스를 통해 데이터를 가져올 때 Angular 2 스크립트의 제목에 오류가 발생하지만 페이지 구성 요소에 정보가 계속 표시됩니다. , {{bedriften}}을 사용하여, 오류가 발생하더라도. 나는 무엇을 잘못하고 있는지 모른다. console.log (this.bedriften)를 호출하면 정의되지 않지만 페이지에 표시됩니다. 임 확신 페이지가 사용자에게 표시됩니다 제대로하기 전에 (내가 그래서 this.bedriften이 채워집니다 의미)"오류 TypeError : 각도 2의 '...'속성을 읽을 수 없습니다.

내 서비스 정보를로드하는 방법 :

import { Injectable } from '@angular/core'; 
import { Http, Response } from '@angular/http'; 

@Injectable() 
export class HendingService { 
alleHendingar: any; 
data: any; 
constructor(private http: Http) { } 
bed: any; 

hentHendingar() { 
return this.http.get("http://ekstremedia.no/rapporter/allehendingar.json") 
    .map(res => res.json()); 
} 
hentBedrift(bed) { 
    return this.http.get("http://localhost:81/vossapp/get/bedrift/"+bed) 
    .map(res => res.json()); 
    } 
} 

내 페이지, 다음과 같은 에러가 발생합니다

import { Component, OnInit, AfterContentInit } from '@angular/core'; 
import { ActivatedRoute } from '@angular/router'; 
import { HendingService } from '../../hending-service.service'; 

@Component({ 
    selector: 'app-bedriftside', 
    templateUrl: './bedriftside.component.html', 
    styleUrls: ['./bedriftside.component.scss'], 
    providers: [HendingService] 
}) 

export class BedriftsideComponent implements OnInit { 
id: number; 
private sub: any; 
bedriften: any; 
constructor(private route: ActivatedRoute, private hs: HendingService) { } 

ngOnInit() { 

    this.sub = this.route.params.subscribe(params => { 
     this.id = params['id']; 
    }); 

    this.hs.hentBedrift(this.id) 
    .subscribe(data => { 
     this.bedriften = data 
    });  
    console.log(this.bedriften); // undefined 
    } 

} 

답변

0
당신은 외부 CONSOLE.LOG을 배치 할

하여 응답이 수신되면 사용자가 액세스 할 수 있어야한다, 구독

this.hs.hentBedrift(this.id) 
    .subscribe(data => { 
     this.bedriften = data; 
     console.log(this.bedriften); 
    }); 
ERROR :

또한 템플릿에 당신은 값이 페이지 구성 요소 내가 할 {{bedriften.title}} 나는 콘솔에서이 오류 메시지에 안전 탐색 운영자

<h1> {{bedriften?.title}}</h1> 
+0

를 사용하여 존재하지만, 경우에 확인해야 TypeError : 정의되지 않은 'title'속성을 읽을 수 없습니다. 그러나 페이지에는 제목이 올바르게 표시됩니다. 그것은 작동하지만 분명히 뭔가 잘못하고있다. –

+0

안전한 내비게이션 연산자 {{bedriften? .title}} – Sajeetharan

+0

사용할 수 있습니다. 이것을하는 것이 일반적인 관행입니까? –

관련 문제