Vue.js学习笔记之修饰符详解

2020-06-14 06:05:00易采站长站整理

而当开始输入非数字的字符串时,因为Vue无法将字符串转换成数值,所以属性值将实时更新成相同的字符串。即使后面输入数字,也将被视作字符串。

.trim

该修饰符用来自动过滤字符串前后的空字符。

vm 
对象中增加一个属性,默认为空字符串


var vm = new Vue({
el: "#app",
data: {
input_trim: ""
}
});

 input 
上添加指令


<div class="row">
<h2>v-model.trim</h2>
<input type="text" v-model.trim="input_trim" />
<hr />
</div>

打开页面,在文本框输入内容,并在内容前后添加多个空格

Vue会自动过滤掉前后的多个空格,最终属性值是前后没有空字符的字符串。

二、v-on的修饰符

绑定的事件修饰符可以改变事件的触发方式。

.stop

该修饰符将阻止事件向上冒泡。同理于调用

event.stopPropagation() 
方法

 vm 
对象里添加两个事件


var vm = new Vue({
el: "#app",
methods: {
div_click: function () {
console.log("div click...");
},
stop_click: function () {
console.log("stop_click...");
}
}
});

将上面两个方法绑定到一组具有父子关系的元素上


<div class="row">
<h2>v-on.stop</h2>
<div @click="div_click">
<button type="button" @click.stop="stop_click">StopPropagation</button>
</div>
<hr />
</div>

打开页面,并点击按钮,查看控制台打印结果

按照事件冒泡原理,点击按钮时,从当前触发的元素开始,沿着它的父元素一直到根元素,都会依次触发 click 事件。但是应用了 .stop 修饰符后,将只会触发当前元素的 click 事件,并阻止事件向上冒泡。

.prevent

该修饰符会阻止当前事件的默认行为。同理于调用

 event.preventDefault() 
方法

 vm 
对象里添加一个测试方法


var vm = new Vue({
el: "#app",