Mam wiele elementów listy, które chcę włączyć włączone klasy, kiedy są klikane.Vuejs dostaje element, który jest wywoływany przez zdarzenie?
<ul class="list-body">
<li v-on="click: setFilter('style', 'pils')" v-class="active: isActive">Pils</li>
<li>Dubbel</li>
<li>Tripel</li>
<li v-on="click: setFilter('style', 'Quadrupel')">Quadrupel</li>
<li>Wit</li>
</ul>
Mam już funkcji setFilter
kliknij gdzie mogę dodać dodatkowe funkcje do aktywacji klasę onClick
.
setFilter: function(facet, value) {
// Facet for style of beer(search filter)
this.helper.addDisjunctiveFacetRefinement(facet, value).search();
},
Moje pytanie brzmi: w jaki sposób można wybrać konkretny li
element, który został kliknięty na i nazywa się z setFilter
metody?
Chcę ustawić zmienną dla aktywnej klasy false
lub true
dla każdego pojedynczego elementu li
, który został kliknięty (lub nie został kliknięty).
Wystarczy szybkie pytanie w moim przykładzie używam to: kliknięcie: setFilter („styl”, „Pils”) Bo przekazywać argumenty obsługi zdarzeń nie robi nie działa. Jak sprawić, by działał jak funkcja z argumentami, czy jakoś przekazuję wydarzenie jako argument? –
Nie próbuj przekazywać samego elementu i argumentów. Możesz wywołać setFilter z metody onClick i przeanalizować tam kliknięty element. – psren
To wydaje się nie działać w Vue 2.0. Próbowałem użyć * v-on: click = "bla();" * tak jak sugerują dokumenty, ale wtedy, podczas pracy, wysyłane zdarzenie jest niezdefiniowane. –