2016-01-11 11 views
16

私はこのような変更を監視する要素があります。要素値の変更に関するVuejsイベント?

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

はvuejsできれいにこれを実行することが可能ですか?私はドキュメントを見てみましたが、このようなものは見つけられませんでした。

「50」がVueJsで何かに変更されると、いつでもカスタムイベントを開始したいと思います。

+0

プロパティチェックアウト? –

+0

私は、スパン要素の値が変更された後でそれを取得したいだけです。この値はスライダに連結され、スライダによって変更されたときにその要素の値をvuejsに渡したいとします。 –

答えて

27

watchで試したことがありますか? あなたの場合は、このようなものになります。

テンプレート

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

JSコード

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'; 
     } 
     } 
    } 
}) 

を変更したいんthe example

+0

これは、実際にspan要素の値が入力フィールドに何かを入力することによって変更されている場合にのみ機能します。私のスライダは、入力ボックスの値を入力せずに操作し、それよりもトリガしません。 –

+2

入力に 'v-model'を追加したために入力するときだけ変わるので、値を変更している入力タイプに' v-model'をバインドする必要があります。たとえばjavascriptなどの入力なしで値を変更する場合は、Vueコンポーネントの 'data'プロパティを同期させておく必要があり、反応性がその魔法を実行します。とにかく、詳細を知りたければ、実際に変更を加えるコードの部分を追加してください。 –

+0

myValueがルートになく、オブジェクトの中に... first:{myValue: ''} ..そうではありません'first、myValue'のようなものを時計に入れることが可能です...それにはどんな方法がありますか? – SoldierCorp

関連する問題