v-model が変更されたときにイベントを発生させるにはどうすればいいですか? 質問する

v-model が変更されたときにイベントを発生させるにはどうすればいいですか? 質問する

私はfoo()関数を起動しようとしていますが@click、ご覧のとおり、イベントを正しく起動するにはラジオ ボタンを 2 回押す必要があります。2 回目に押したときのみ値をキャッチします...

(srStatus) が変更された@clickときだけイベントを発生させるのではなく、イベントを発生させたいです。v-model

これが私のフィドルです:

http://fiddle.jshell.net/wanxe/vsa46bw8/

ベストアンサー1

実際には、ディレクティブを削除することでこれを簡素化できますv-on

<input type="radio" name="optionsRadios" id="optionsRadios1" value="1" v-model="srStatus">

そして、watchメソッドを使用して変更をリッスンします。

new Vue ({
    el: "#app",
    data: {
        cases: [
            { name: 'case A', status: '1' },
            { name: 'case B', status: '0' },
            { name: 'case C', status: '1' }
        ],
        activeCases: [],
        srStatus: ''
    },
    watch: {
        srStatus: function(val, oldVal) {
            for (var i = 0; i < this.cases.length; i++) {
                if (this.cases[i].status == val) {
                    this.activeCases.push(this.cases[i]);
                    alert("Fired! " + val);
                }
            }
        }
    }
});

おすすめ記事