2016-07-25 12 views
1

Ich habe eine SchnittstelleIch kann keine Controller-Eigenschaft in meiner angular2 Ansicht zugreifen

export interface IInterview { 
    id: number; 
    title: string; 
    body: string; 
} 

und wenn ich console.log(interview) in meinem Controller tun es zeigt, dass ich

Object {title: "I SEE SOMETHING", id: 2, body: "THIS IS SO AWESOME HUEHUEHUEHUE"} 

haben Aber wenn ich gehen zu meinen Ansichten und ich {{ interview.body }} bekomme ich eine Fehlermeldung,

lesen Eigenschaft ‚Körper‘ von undefined in [Kann nicht{{}} interview.body

Und wenn ich {{ interview }} versuchen, es sagt nur [object Object]

Antwort

2

Versuchen Sie es mit:

{{ interview?.body }} 

Grund:

Die interview Eigenschaft Ihrer Komponente wahrscheinlich undefined im ersten Moment Winkel versucht, die Aussicht zu machen.

Der elvissichere Navigation Betreiber (?.) sorgen dafür, dass Winkel nur die Variable zu machen versuchen, wenn es nicht null ist.

Wenn funktioniert ungefähr wie {{ interview ? interview.body : "" }}.

Weitere Informationen finden Sie in der offiziellen Dokumentation: https://angular.io/docs/ts/latest/guide/template-syntax.html#!#safe-navigation-operator oder unter cheatsheet.

+0

huh ... das hat funktioniert, aber könnten Sie erklären warum? –

+0

Ich fügte eine Erklärung hinzu, sag mir, was du denkst. – acdcjunior

+0

danke, für die Aufnahme des Namens auch ... Ich habe versucht, google "Fragezeichen angularjs" haha. Antwort annehmen, wenn ich kann :) –

Verwandte Themen