Ich habe eine Liste der Elemente, und ich möchte seine Daten von einem JavaScript-Array füttern:Wie man eine Funktion mit Argumenten über JavaScript-Objekt-Array übergeben?
// HTML
<ul
<li v-for="menuItem in menuItems">
<a @click="menuItem.action">{{ menuItem.name }}</a>
</li>
</ul>
// DATA
data() {
return {
menuItems: [
{ name: 'Split up', action: this.split('up') },
{ name: 'Split down', action: this.split('down') },
{ name: 'Split left', action: this.split('left') },
{ name: 'Split right', action: this.split('right') }
]
}
// METHODS
methods: {
split (direction) {
store.actions.openWindow(direction)
store.actions.closeMenu()
}
}
Aber jetzt bekomme ich diesen Fehler:
[Vue warn]: v-on:click="menuItem.action" expects a function value, got undefined
Was bedeutet, dass ich bin den Wert von action
falsch übergeben.
Was ist die richtige Art, es zu tun?
Danke. Das zweite Beispiel funktioniert nur so: 'action:() => {return this.split ('left')}'. – alexchenco