2016-10-24 37 views
17

bileşenler arasında veri paylaşımı nasıl giriş işleminde elde edilen bazı veriler.Oldukça basit VueJS uygulamasını, 3 bileşenler (Giriş, SelectSomething, DoStuff)</p> <p>Girişi bileşeni kullanıcı için sadece bir şeklidir ve ikinci bileşen görüntülemek için ihtiyacı olduğu girişini geçmek var VueJS

Verileri bir bileşenden diğerine nasıl paylaşabilirim? Böylece ikinci bileşene yönlendirdiğimde hala Giriş bölümünde elde edilen verilere sahibim?

+3

[State management] (https://vuejs.org/guide/state-management.html) adresindeki Vue guid bölümündeki bölümü okudunuz mu? – PatrickSteele

+0

Henüz değil, ama ihtiyacım olana benziyor. Tüm dökümantasyonu okumayı bitirmeden önce, gelişmeye başlamak için istekli olduğunuzda ne olduğunu tahmin edin. – daniels

+0

Merhabalar! Cevabımı doğru (ve yardımcı) bulduysanız, lütfen [kabul et] (https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

cevap

15

Sen props veya birbirinizle props kullanarak iletişim kurabilir Vue.js bileşenleri Başka

vm.$on('test', function (msg) { 
    console.log(msg) 
}) 

vm.$emit('test', 'hi') 
// -> "hi" 
4

bir bileşeninden bir olay yayarlar ve dinlemek mümkün olacak bir olay otobüsü kullanabilir ya veya events. Hepsi bileşenleriniz arasındaki ilişkiye göre değişir. , Ebeveyne çocuktan bilgi göndermek için

<template> 
<h2>Parent Component</h2> 
<child-component :propsName="example"></child-component> 
</template> 

<script> 
export default { 
data(){ 
    return{ 
    example: 'Send this variable to the child' 
    } 
} 
} 
</script> 

: Eğer sahne kullanmanız gerekecektir, Çocuk ebeveynden bilgi göndermek için

<template> 
<h2>Parent Component</h2> 
<child-component></child-component> 
</template> 

:

en bu küçük bir örnek ele alalım

Çocuk Bileşen

<script> 
... 
this.$emit('example', this.variable); 
</script> 
: etkinlikleri kullanmanız gerekecektir

Veli Bileşen

<template> 
<h2>Parent Component</h2> 
<child-component @example="methodName"></child-component> 
</template> 

<script> 
export default { 
methods: { 
    methodName(variable){ 
    ... 
    } 
} 
} 
</script> 

Kontrol Bu konu hakkında daha fazla bilgi için vue.js dokümantasyonu. Bu çok kısa bir giriş.