2017-07-19 8 views
0

Ich möchte ein Laravel-Objekt an meine Vue-Komponente übergeben. In Vue möchte ich die Daten zu einem JSON-Objekt analysieren und habe bereits versucht this solution.Wie man Laravel-Daten (json) an die Vue-Komponente übergibt

In meiner Klinge Ich habe dies:

<creator :object="parseData({{ $object->toJson() }})"></creator> 

Und in meiner Komponente Ich habe diese:

data() { 
    return { 
     object: null 
    } 
}, 
methods: { 
    parseData(data) { 
     this.object= JSON.parse(data); 
    } 
} 

Ich habe auch versucht

props: ['object'] 

anstelle von Daten()

Das gibt mir die folo Flügel Fehler:

[Vue warn]: Property or method "parseData" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.

Können Sie mir sagen, was ich falsch mache?

Gelöst Ich versuchte es heute noch einmal und aus irgendeinem Grund hat es funktioniert. Danke für deine Zeit Jungs!

Antwort

0

Ihre parseData Methode muss innerhalb des methods Abschnitts Ihres JS definiert werden.

Versuchen:

data() { 
    return { 
     ball: null 
    } 
}, 

methods: { 
    parseData(data) { 
     this.object= JSON.parse(data); 
    } 
} 

Edit: und das tun, was @Piotr sagte :)

+0

Vielen Dank für die Erwähnung, ich habe dies bereits in meinem Code, habe einfach vergessen, es richtig in stackoverflow zu schreiben. Also der Fehler ist immer noch der gleiche – mmanuel

1

Erstens: Sie nicht Eigenschaft object Ihrer Komponente hinzugefügt haben. Um dies zu beheben Sie diese Zeile hinzufügen müssen

props: ['object'], 

kurz vor Ihrer data Funktion.

Zweitens: müssen Sie parseData Funktion in methods Teil Ihrer Komponente definieren. Beheben Sie es wie folgt:

methods: { 
    parseData() { 
     //your function logic 
    } 
} 

Vue muss Methoden, Beobachter, berechnete Eigenschaften im richtigen Abschnitt definieren.

Jetzt ist Ihr Code konkurriert.

+0

Oh, ich habe vergessen, die Methoden Abschnitt in Stackoverflow aufzuschreiben, aber ich habe das bereits korrekt in meinem Code. So oder so versuche ich es mit Requisiten: ['Objekt'] oder Daten() {return {Objekt: null}} Ich habe den gleichen Fehler – mmanuel

Verwandte Themen