2016-04-15 12 views
1

Ich habe 2 Komponenten: A und B.Vue.js Erhalten von Daten von einer anderen Komponente

Komponente A:

import B from '../components/B.vue'; 

export default { 

    components: { 
     B 
    }, 

    methods: { 
     test: function() { 
      console.log(B.data().settings); 
     } 
    } 
} 

und Komponente B:

export default { 

    data() { 
     return { 
      setting: '123' 
     } 
    } 

} 

Wenn I triggern Testmethode dann bekomme ich den Wert 123. Aber wenn ich einen neuen Wert von einer Eingangs- und Trigger-Testmethode neu eintrage, kann ich den neuen Wert nicht bekommen, der Wert ist immer noch 123.

Ich habe keine Ahnung davon. Ich danke dir sehr !!!.

Antwort

2

Sie führen die Datenfunktion der Komponente Definition. Um den gewünschten Wert von der Instanz einer Komponente zu erhalten, rufen Sie einfach die gewünschten Daten auf. Zum Beispiel:

import B from '../components/B.vue'; 

// as I say, work on instance of Vue, not in components definitions 
let b = new B() 

console.log(b.settings) // logs the settings for that instance, this value is reactive 
console.log(b.$data) // log all the current data for that component, also reactive 
console.log(B.data()) // log the definition data, not reactive 

Nun müssen Sie lösen, wie aus der A Vue Instanz einen Verweis auf die B Instanz zu erhalten, wie es könnte mehr als eine B Komponente sein, in A

Verwandte Themen