1.lazy 修饰器

lazy修饰器在input框中的表现效果是:
当你失去焦点后值才会跟新。
它的跟新时机是失去焦点后
这个修饰器在项目中运用的场景较少
<template>
<div>
<input class="input-demo" type="text" v-model.lazy="numberCont">
<p>{{numberCont }}</p>
</div>
</template> <script>
export default {
data(){
return{
numberCont:1,
}
}
}
</script> <style lang="scss" scoped>
.input-demo{
height: 40px;
width: 300px;
border-radius: 4px;
text-indent: 10px;
}
</style>

2.number 修饰器

number修饰器:
正常情况下,你在input框中输入的都是字符串类型。
但是添加number修饰器后,可以将你在input框中输入的字符变成数字类型;
注意:number修饰器并不可以限制input框中只能够输入数字;你输入汉字。或者其他。
它只是将你输入的【字符串类型的数字】类型转换为【数字类型】仅此而已
<template>
<div>
<input class="input-demo" type="text" v-model.number="numberCont">
<p>{{typeof numberCont }}</p>
</div>
</template> <script>
export default {
data(){
return{
numberCont:1,
}
}
}
</script>

3.trim修饰器

去除首尾的空格;但是不能够去除中间的空格。
这个还是很常用的
<template>
<div>
<input class="input-demo" type="text" v-model.trim="numberCont">
<p>=={{numberCont }}==</p>
</div>
</template> <script>
export default {
data(){
return{
numberCont:'',
}
}
}
</script>

4.总结

这个三个修饰器lazy、number、trim。
个人认为只有trim在开发的项目中使用的频率很高
其他两个感觉有点鸡肋。
number如果只能够限制用户输入数字的话,感觉还是挺好的。
但是却不是这样的

5.组件中使用v-model

其实在vue中v-model不仅可以使用在表单上
还可以使用在组件上面
可能细心的小伙伴平时都发现我们使用的第三方组件上有v-model
一起来看看怎么使用

6.组件使用v-model

<template>
<div>
<child-com v-model="msg"></child-com>
<el-button @click="handerOK" primary>获取值</el-button>
</div>
</template>
<script>
import childCom from "@/components/child-com"
export default {
name: 'App',
data(){
return {
msg:'小甜甜'
}
},
methods:{
handerOK(){
console.log(this.msg )
},
},
components:{
'child-com':childCom
}
}
</script> <style>
input{
height: 40px;
width: 300px;
border-radius: 4px;
text-indent: 10px;
}
</style>

组件

<template>
<div>
<!-- <h2>组件</h2> -->
<input type="text" :value="value" @input="onInput">
</div>
</template> <script>
export default {
props:['value'],
methods: {
// input框中的值变化时,就会执行 onInput 事件
onInput(e){
// 想外传递的事件input是不变的,注意一下
this.$emit('input',e.target.value)
}
},
}
</script>

7.如何需要绑定多个值咋办

<template>
<div>
=========子组件=======
<child-com v-model="msg" :name.sync="name"></child-com>
<el-button @click="handerOK" primary>获取值</el-button>
<el-button @click="handerother" primary>获取值</el-button>
</div>
</template>
<script>
import childCom from "@/components/child-com"
export default {
name: 'App',
data(){
return {
msg:'小甜甜',
name:'皮卡丘'
}
},
methods:{
handerOK(){
console.log(this.msg )
},
handerother(){
console.log(this.name )
},
},
components:{
'child-com':childCom
}
}
</script>

子组件

<template>
<div>
<input type="text" :value="value" @input="onInput">
<input type="text" :value="name" @input="otherInput">
</div>
</template>
<script>
export default {
props:['value','name'],
methods: {
// input框中的值变化时,就会执行 onInput 事件
onInput(e){
// 想外传递的事件input是不变的,注意
this.$emit('input',e.target.value)
},
otherInput(e){
// update在自定义时事件就是update。否者外界不能获取值
this.$emit('update:name',e.target.value)
},
},
}
</script>

如果你觉得我写的还不错的话,
跪求一个赞,感谢看官们!
这是我写下去的动力

vue中v-model修饰符的使用和组件使用v-model的更多相关文章

  1. vue中的.passive修饰符

    一.passive作用 详情请参考MDN(https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener)中 ...

  2. vue中的.native修饰符

    如果你想在某个组件的根元素上绑定事件,直接使用 @click=''function' 是不生效的,我们可以添加.native修饰符 @click.native=''function'',请看以下dem ...

  3. vue中的事件修饰符

    vue提倡的是在方法中只有对数据的处理,所以提供了事件修饰符用于DOM的事件处理,常用的事件修饰符有以下几个: (1). stop:阻止冒泡(通俗讲就是阻止事件向上级DOM元素传递) 点击内层div的 ...

  4. Vue中的native修饰符解析

    native修饰符 一般来说,vue本身提供了v-on:eventName这个语法来提供vue的时事件绑定,通常使用@eventName这个语法糖代替上述语法. 使用过程中没有考虑@eventName ...

  5. 怎样在 Vue 中使用 事件修饰符 ?

    Vue 中可以通过 v-on 来绑定事件监听函数, 不过事件会有许多额外情况, 比如 是否阻止冒泡 / 是否阻止重载 / 是否限制点击次数 / 是否可以通过按键触发 等等. 这时就需要使用到 事件修饰 ...

  6. vue中的.sync修饰符用法

    在项目中接触到父组件传值给子组件的时候,想在子组件改变父组件传的值.(比如用于弹窗关闭) 但是正常来说,vue2是不允许子组件直接改父组件传进去的值的. 所以我们需要在子组件内定义自定义事件,通知父组 ...

  7. vue 中的 .sync 修饰符 与 this.$emit('update:key', value)

    vue 中 .sync 修饰符,是 2.3.0+ 版本新增的功能 在有些情况下,我们可能需要对一个 prop 进行"双向绑定".不幸的是,真正的双向绑定会带来维护上的问题,因为子组 ...

  8. 030——VUE中鼠标语义修饰符

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 029——VUE中键盘语义修饰符

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. (二)咋使用VUE中的事件修饰符

    1,stop修饰符:阻止事件冒泡 首先我们要明确H5的事件是从内向外进行冒泡的,写一个简单的DEMO 当我们点击按钮时,事件从内向外冒泡,依次触发绑定的事件,控制台信息如下 现在我们在click后面添 ...

随机推荐

  1. k8s源码Client-go中Reflector解析

    摘要:通过本文,可以了解Reflector通过ListWatcher从Kubernetes API中获取对象的流程,以及存储到store中,后续会对DeltaFIFO进行源码研读,通过结合inform ...

  2. 火山引擎DataTester上线「集成工作台」功能,助力企业打造专属AB平台

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 AB测试不仅是做增长的"利器",也是企业优化效率.增加决策精确度的有效工具.随着国内企业服务市 ...

  3. 火山引擎 VeDI 推出这款产品 助力企业实现以“人”为中心的数据洞察

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 CDP(Customer Data Platform,客户数据平台)市场将迎来新一轮的高速增长. 国际数据公司(以 ...

  4. Codeforces Round 908 (Div. 2)

    总结 T1 题目大意: A,B两人玩游戏,游戏规则如下: 整场游戏有多轮,每轮游戏先胜 \(X\) 局的人获胜,每场游戏先胜 \(Y\) 局的人获胜. 你在场边观看了比赛,但是你忘记了 \(x\) 和 ...

  5. Codeforces Round #650 (Div. 3) F1经典离散化DP

    比赛链接:Here 1367A. Short Substrings Description 一个字符串 abac,然后把所有长度为2的子串加起来变成新串,abbaac,由 ab ba ac组成.现在给 ...

  6. AtCoder Regular Contest 116 (A~F补题记录)

    补题链接:Here 第一次打 ARC,被数学题虐惨了 赛后部分数学证明学习自 ACwisher A - Odd vs Even \(T(1≤T≤2×10^5)\)组测试数据,每次询问一个正整数 \(N ...

  7. Educational Codeforces Round 80 A - D题题解(又是卡很久的一场比赛)

    第八场 CodeForces - 1288A. Deadline Example input 3 1 1 4 5 5 11 output YES YES NO Note In the first te ...

  8. 2016年第七届 蓝桥杯C组 C/C++决赛题解

    蓝桥杯历年国赛真题汇总:Here 1.平方末尾 能够表示为某个整数的平方的数字称为"平方数" 比如,25,64 虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数. 因 ...

  9. AtCoder Beginner Contest 187 题解

    A - Large Digits 按要求求出两个数的每位之和,进行比较即可. 时间复杂度 \(\mathcal{O}(\log(AB))\). B - Gentle Pairs 枚举所有点对求斜率. ...

  10. vivo 互联网业务就近路由技术实战

    一.问题背景 在vivo互联网业务高速发展的同时,支撑的服务实例规模也越来越大,然而单个机房能承载的机器容量是有限的,于是同城多机房甚至多地域部署就成为了业务在实际部署过程中不得不面临的场景. 一般情 ...