Vorlage:vueJS 2, wie Javascript, an eine Komponente zu binden dynamisch
<template v-for="(item, i) in items">
<v-divider
v-if="item.divider"
class="my-4"
:key="i"
></v-divider>
<v-list-tile
:key="i"
v-else
:to="item.to"
>
<v-list-tile-action>
<v-icon>{{ item.icon }}</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>
{{ item.text }}
</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
</template>
Script Abschnitt:
export default {
name: 'sideMenu',
data() {
return {
toggleKeyboardShortcuts: false,
items: [
{ icon: 'add', text: 'Create new question', to: '/question' },
{ divider: true },
{ icon: 'lightbulb_outline', text: 'Notes', to: '#' },
{ icon: 'touch_app', text: 'Reminders', to: '#' },
{ divider: true },
{ icon: 'settings', text: 'Settings', to: '#' },
{ icon: 'help', text: 'Help', to: '#' },
{ icon: 'keyboard', text: 'Keyboard shortcuts', events: { 'click': this.toggleKeyboardShortcutsDialog.bind(this) } },
{ icon: 'phonelink', text: 'App downloads', to: '#' }
]
}
},... more stuff, but not relevant for this question
Ich bin in der Lage sind, machen richtig unterschiedliche Attribute und Dinge passieren , aber die Übergabe einer JavaScript-Funktion, die ausgeführt werden soll, wenn ein Element dieser Liste bei einem Klick nicht mehr funktioniert. Und ich brauche dieses Verhalten, um einen Dialog auszulösen (Zugriff auf Seiten mit Router funktioniert)
Haben Sie versucht, die '@ Klicken Sie auf "Attribut"? – Derek
etwas wie '@ click =" item.js "' in der 'v-for' Schleife? Ich bin mir nicht sicher, ob ich es in Minuten versuchen werde –
Scheint nicht zu funktionieren. –