2015-10-16 35 views
8

Etkin sınıfları tıklatıldığında açılmak istediğim birden çok liste öğesine sahibim.Vuejs bir etkinlik tarafından çağrılan öğeyi mi alıyor?

<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> 

Ben zaten sınıf onClick etkinleştirmek için ekstra işlevler ekleyebilirsiniz bir setFilter tıklama fonksiyonu var.

setFilter: function(facet, value) { 
    // Facet for style of beer(search filter) 
    this.helper.addDisjunctiveFacetRefinement(facet, value).search(); 
}, 

Sorum tıkladım ve setFilter yöntemle denilen belirli li elemanı seçebilir nasıl?

false veya true etkin sınıfları için, tıklanan (veya tıklanmayan) her bir li öğesi için bir değişken ayarlamak istiyorum.

cevap

6

Etkinliği ve etkinlik hedefini işlevinize doğrudan iletebilirsiniz. Hedef, tıkladığınız öğedir.

HTML:

<ul id="demo"> 
    <li v-on="click: onClick">Trigger a handler</li> 
    <li v-on="click: n++">Trigger an expression</li> 
</ul> 

JS: En elemanı ile

var vue = new Vue({ 
    el: '#demo', 
    data: {}, 
    methods: { 
    onClick: function (e) { 
     var clickedElement = e.target; 
    } 
    } 
}) 

istediğini yapabilirsin. jQuery kullanmak Örneğin :

$(clickedElement).siblings().removeClass('active'); 
$(clickedElement).addClass('active'); 
+0

Sadece bunu kullanmaktan benim örnekte kısa bir soru: tıklama: SetFilter ('tarzı', 'pils') Ben argümanları geçmesi nedeniyle olay işleyicisi etmiyor Çalışıyorum Argümanlarla bir işlev gibi çalışmayı nasıl yapabilirim? Olayı bir şekilde argüman olarak iletebilir miyim? –

+1

Denemeyi deneyin elemanın kendisi ve argümanlar. SetFilter'ı onClick-Method'ınızdan çağırabilir ve tıkladığınız öğeyi orada analiz edebilirsiniz. – psren

+0

Bu, Vue 2.0'da çalışmıyor gibi görünüyor. Kullanmayı denedim * v-on: click = "bla();" * doc'ların önerdiği gibi, ancak çalışırken, gönderilmekte olan olay tanımsızdır. –

İlgili konular