2017-02-05 6 views
0

Ich fange gerade vuejs zu lernen 2, aber ich habe ein Problem, ich bin vorbei ein Requisiten, um ein Kind Komponente wie folgt aus:Zugang zu Requisiten innerhalb Javascript

<div class="user"> 
    <h3>{{ user.name }}</h3> 
    <depenses :user-id="user.id"></depenses> 
</div> 

Und hier ist, wie ich es verwenden in meinem Kind-Komponente:

export default { 
    name: 'depenses', 
    props: ['userId'], 
    data() { 
    return { 
     depenses: [] 
    } 
    }, 
    mounted: function() { 
    this.getDepenses() 
    }, 
    methods: { 
    getDepenses: function() { 
     this.$http.get('myurl' + this.userId).then(response => { 
     this.depenses = response.body 
     this.haveDepenses = true 
     }, response => { 
     console.log('Error with getDepenses') 
     }) 
    } 
    } 
} 

this.userId ist nicht definiert, aber ich bin der Lage, es mit <span>{{ userId }}</span> angezeigt und ich kann in den vuejs trösten die param userId sehen mit dem Wert

Warum ich haben einen undefinierten Wert in der js?

+0

Wie wird 'user.id' in die übergeordnete Komponente eingefügt, wird sie async aufgefüllt? – Saurabh

+0

@Saurabh Ja, ich bekomme meinen Benutzer mit einem $ http.get() –

Antwort

0

Ok ich fand, warum ich meinen Wert nicht bekommen konnte, dank @Saurabh Kommentar, er erinnert mich, dass ich meine Requisiten asynchron bekomme, also musste ich einen Beobachter setzen, wenn sich meine Requisiten ändern, so:

Verwandte Themen