2017-09-08 1 views
0

Ich habe Navbar Blade, Komponente mit Text und andere Komponenten mit Seite. Es funktioniert, als ob ich eine Komponente mit Text in der Navigationsleiste und eine andere Komponente nach der Navigationsleiste habe. Das sind drei weitere Komponenten. Wie ändert man Text von zum Beispiel index.vue in text.vue?Ändern Sie die Variable in der Komponente mit vue.js

Das ist, was ich habe:

Text.vue:

<template> 
<p class="title">{{msg}}</p> 
</template> 

<script> 
    export default { 
     props: [ 
      'msg', 
     ], 
     data() { 
      return { 
      } 
     }, 
     mounted() { 
     }, 
     methods: { 
     } 
    } 
</script> 

Komponente in navbar.blade.php:

<navbar-title></navbar-title> 

Und ich versuche es in index.vue zu ändern, das sollte funktionieren, wenn wir uns auf dieser Seite befinden:

data() { 
      return { 
       msg: 'text', 
      } 

Aber es funktioniert nicht. Wie mache ich das richtig?

EDIT:

Vue.component('title', require('./components/Title.vue')); 
+0

Können Sie uns zeigen Sie den Code ein, wo Sie die vue Komponente registrieren? – Quezler

+0

@Quezler bearbeitet –

Antwort

0

Um die Nachricht Variable von Ihrem index.vue durch navbar.vue passieren jeweils title.vue die Eigenschaft, um das Kind zu übergeben muss und jedes Kind muss die Eigenschaft weitergeben wieder alle im ganzen Baum.

So etwas sollte für Ihren Fall arbeiten: <title :msg="msg"></title>

+0

Setzen Sie das in Navbar richtig? –

+0

ja, und ich gehe davon aus, dass Ihre '' in Ihrem 'index.vue' die': msg = "msg" 'auch – Quezler

+0

Was meinst du? –

Verwandte Themen