Vue2 监听属性改变watch的实例代码

效果:

代码:

<div id="app2">

<label>幼儿园入学年龄(3~6):</label><input type="number" v-model="child.age"> <button @click="older"> + </button> <button @click="younger"> - </button>

<p v-show="hasErr">{{ errMsg }}</p>

</div>

<script>

var app = new Vue({

el:"#app2",

data:{

child:{age:2},

hasErr:false,

errMsg:""

},

methods:{

older:function () {

this.child.age ++;

},

younger:function () {

this.child.age --;

},

hideErr:function () {

var self = this;

setTimeout(function () {

self.hasErr = false;

},3000);

}

},

//构造器内的watch

watch:{

'child.age':function (newVal,oldVal) {

if(newVal > 6){

this.child.age = 6;

this.errMsg = "不得大于6岁";

this.hasErr = true;

this.hideErr();

}

}

}

});

app.$watch("child.age", function (newVal,oldVal) {

if(newVal < 3){

app.child.age = 3;

app.errMsg = "不得小于3岁";

app.hasErr = true;

app.hideErr();

}

}, {deep:true, immediate:true}); //deep默认true immediate指示是否立即以表达式的当前值触发回调

</script>

以上这篇Vue2 监听属性改变watch的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 Vue2 监听属性改变watch的实例代码 的全部内容, 来源链接: utcz.com/z/313058.html

回到顶部