2016-12-06 2 views
0

Ich habe eine VueComponent, für die ich einen Wert "A" übergeben muss. Das Problem ist der Wert A kann VueRouter-Parameter oder über die Template-Interpolation übergeben werden. Was ist der beste Weg, um eine Eigenschaft Daten über beide Optionen zu setzen?Eigenschaften/Daten in VueJs setzen Komponente

z.B.

<component :property="value"></component> 

wenn ich navigieren zu

/component/8/bearbeiten

mounted() { 
    this.property = this._route.params.id 
} 

Antwort

1

Sie müssen, um herauszufinden, welche Parameter Sie Priorität geben, wenn Sie wollen Priorität geben route param, können Sie Folgendes tun:

mounted() { 
    this.property = this.$route.params.id ? this.$route.params.id : this.property 
} 

Wenn Sie Priorität Requisiten geben möchten, können Sie übergeben werden schreiben:

mounted() { 
    this.property = this.property ? this.property : this.$route.params.id 
} 
+0

Leicht off topic, aber miteinander verbundene kann eine „Daten“ Eigenschaft eine Funktion als Referenz in der Vorlage Syntax sein? d. h. 'data {return {property() {return this.otherProperty}}}' oder sollte es berechnet werden, weil ich das tun will, was Sie gesagt haben und bei Bedarf überschreiben können – Kendall

+0

hat eine Nachricht für Sie im Chat hinterlassen – Kendall

Verwandte Themen