2016-01-11 13 views
16

mam element, który chcę oglądać na zmianę tak:Zdarzenie Vuejs dotyczące zmiany wartości elementu?

<span id="slider-value-upper" class="lower">50</span> 

to możliwe, aby to zrobić czysto z vuejs? Próbowałem szukać w dokumentach, ale nie mogłem znaleźć czegoś takiego.

Chcę uruchomić niestandardowe zdarzenie, gdy "50" zmieni się w coś innego za pomocą VueJs.

+0

Które nieruchomość chcesz zmienić? –

+0

Chcę tylko pobrać wartość elementu span po zmianie. Ta wartość jest podłączona do suwaka i chcę przekazać wartość elementu do vuejs, gdy zostanie zmieniona przez suwak. –

Odpowiedz

27

Czy próbowałeś już z watch? W twoim przypadku byłoby to coś takiego.

szablon

<div id="app"> 
    {{ message }} 
    <span id="slider-value-upper" class="lower">{{myValue}}</span><br /> 
    <input v-model="myValue"> 
</div> 

js kod

new Vue({ 
    el: '#app', 
    data: { 
     message: 'Watch example', 
     myValue: 50 
    }, 
    watch: { 
     'myValue': function(val, oldVal){ 
     if (val < 50) { 
      this.message= 'value too low!'; 
     }else{ 
      this.message= 'value is ok'; 
     } 
     } 
    } 
}) 

Wyjazd the example

+0

Działa to tylko wtedy, gdy zmienia się faktyczną wartość elementu span, wpisując coś innego w polu wejściowym. Mój suwak manipuluje wartością w polu wprowadzania bez wpisywania i nie uruchamia niż. –

+2

zmienia się tylko przy pisaniu, ponieważ do wejścia dodano 'v-model', powinieneś związać' v-model' z typem wejścia, który zmienia twoją wartość. Jeśli zmieniasz swoją wartość bez danych wejściowych, na przykład bezpośrednio z javascript, musisz zachować synchronizację własności 'data' komponentu Vue, a reaktywność zrobiłaby magię. W każdym razie, jeśli chcesz uzyskać więcej szczegółów, powinieneś dodać część kodu, która faktycznie wprowadza zmianę –

+0

Co zrobić, jeśli myValue nie znajduje się w katalogu głównym, ale w obiekcie takim jak ... first: {myValue: ''} .. ponieważ nie jest możliwe, aby umieścić w zegarku coś w stylu "first, myValue" ... jaka jest właściwa droga? – SoldierCorp

Powiązane problemy