2016-03-21 19 views
1

Min ve maksimum değer ayarlayabileceğim iki aralıklı kaydırıcıya ihtiyacım var. Bu kaynağı en az ve en yüksek değerlere sahip olduğu için karıştırıyorum kaynak, ama sadece bir hareket elemanı görüyorum.Vue kaydırıcıyı çalıştırılamıyor

Ancak, değişimin nasıl izleneceğini anlayamadığım sorun.

Vue.component('com', { 
    props: ['value'], 
    template: ` 
      <div class="v-range-slider"> 
       <slot name="left"></slot> 
       <input type="range" :value.sync="value" :min="min" :max="max" :step="step" :name="name"> 
       <slot name="right"></slot> 
      </div> 
      ` 
    }) 

App = new Vue ({ 
    el: '#app', 
    data: 
    { 
    value: 46 
    }, 

    watch : 
    { 
    value : function(value) 
    { 
     console.log(this.value); 
    } 
    }, 

methods: 
{ 

} 

}) 

} 

Ve HTML bölüm:

<div id="app"> 
    <com></com> 
    <p> Min value: {{value}}</p> 
</div> 

Ben http://jsfiddle.net/p5dox54w/ insert kodu denedim ama işe değil İşte benim kodudur. PC'mde, show slider var, ancak konsolda, pozisyonunu değiştirdiğimde herhangi bir değişiklik görmüyorum.

cevap

2

App'un değerini çocuk bileşenine iletmeniz ve .sync numaralı özelliğe eklemeniz gerekir; böylece bu, ana ile tekrar senkronize edilir.

<com :value.sync="value"></com> 
+0

Ben com' etiketi 'de içelim ya yazabilirim edebilirsiniz eklemek gerekir: ' '. Hala konsolda hiçbir şey görmüyorum. Ve yanlış olduğum yerde olamıyorum. 'Watch' veya başka bir yerde –

+0

Burada çalışıyor: http://jsfiddle.net/p5dox54w/2/. Hatalı bir parantez vardı, sorun olup olmadığından emin değil. Yorum için, hala v-modelini kullanmak istemiyorsunuz. 'v-model', girdiyi' value' değişkeniyle senkronize eder ve '.sync' sync, – Jeff

+0

ana çocuğa kadar geri döndü! Hayır çalışıyor! Örnekte min ve max ne anlama geliyor? –