0
I folgende Komponente haben:Vue2 - binding Attribut in Komponenten
Vue.component('ordering-filters', {
template: `
<div class="arrow-group">
<a href="#"
:class="{'active' : isActive, 'fa fa-sort-asc fa-lg text-muted': true}"
aria-hidden="true"
@click="orderCountries({orderBy: orderBy, order: 'asc'})" >
</a>
<a href="#"
:class="{'active' : isActive, 'fa fa-sort-desc fa-lg text-muted': true}"
aria-hidden="true"
@click="orderCountries({orderBy: orderBy, order: 'desc'})">
</a>
</div>
`,
methods: {
orderCountries(params){
this.isActive = !this.isActive;
}
},
data() {
return {
orderBy: '',
isActive: false
}
}
});
Wie kann ich binden orderBy Parameter dem HTML-Tag:
<td class="col-md-6">Country Name
<ordering-filters></ordering-filters>
</td>
Und wie kann ich isActive Parameter ändern für das angeklickte Element (setze es auf true und setze es auf false für das Element, auf das nicht geklickt wurde)?
Ich ging in diese Richtung auf den ersten bekam aber folgende Fehler (die Fehler sind gleich mit Ihrem Beispiel): ** [Vue warn]: Eigenschaft oder Methode „name“ definiert ist, nicht auf die Instanz, sondern verwiesen während des Renderns Stellen Sie sicher, dass reaktive Dateneigenschaften in der Datenoption deklariert sind. (gefunden in) ** ** [Vue warn]: Ungültige Requisite: Typprüfung fehlgeschlagen für Requisite "orderBy". Erwartete Zeichenfolge, wurde nicht definiert. in ---> ** Ich dachte, ich auf etwas fehlte, oder dass ich in der falschen Richtung. Es ist ein bisschen schwer, meine Gedanken in Vue einzuhüllen:/ –
Sasha
@Sasha Ausgehend von diesem Kommentar schlage ich vor, dass Sie den Einführungsteil von Vue Docs durchgehen. Weil Sie offensichtlich nicht einmal die Basis des MVVM-Konzepts kennen, z.B. Was ist eine "Bindung"? – Leo