vue3.x初探之v-model的详细使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了vue3.x初探之v-model的详细使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2857字,纯文字阅读大概需要5分钟。
内容图文
1、用于自定义组件时,v-model的prop和默认事件名更改了,并且移除了model选项
//父组件
<template>
<div>
<Child v-model="message" />
<div>绑定的值:{{message}}</div>
</div>
</template>
//子组件
<template>
<div>
<input
type="text"
:value="modelValue"
@input="$emit(‘update:modelValue‘, $event.target.value)"
>
</div>
</template>
<script>
export default {
//2.x用法,可以修改prop和触发的事件名称,model以废弃
// model: {
// prop: ‘value‘, //3.x默认值改为了modelValue
// event: ‘input‘ //3.x默认值改为了update:modelValue
// },
props:[‘modelValue‘]
}
</script>
2.x移除了model配置,3.x那又该怎么配置其他prop呢?
//父组件
<template>
<div>
<Child v-model:text="message" />
<div>绑定的值:{{message}}</div>
</div>
</template>
//子组件
<template>
<div>
<input
type="text"
:value="text"
@input="$emit(‘update:text‘, $event.target.value)"
>
</div>
</template>
<script>
export default {
//3.x 接收v-model冒号后面的值,相应的触发的方法改为update:text
props:[‘text‘]
}
</script>
2、3.x新增,可以定义多个v-model
//父组件
<template>
<div>
<Child
v-model="message1"
v-model:text="message2"
/>
<div>绑定的值1:{{message1}}</div>
<div>绑定的值2:{{message2}}</div>
</div>
</template>
//子组件
<template>
<div>
<input
type="text"
:value="modelValue"
@input="$emit(‘update:modelValue‘, $event.target.value)"
>
<input
type="text"
:value="text"
@input="$emit(‘update:text‘, $event.target.value)"
>
</div>
</template>
<script>
export default {
//v-model冒号后面不写值,默认就是modelValue
props:[‘modelValue‘,‘text‘]
}
</script>
3、去掉了.sync 修饰符,新增自定义v-model修饰符
非自定义组件中,v-model除了.sync以外,其他依然还是可以使用的,比如:.lazy、.trim等
//父组件
<template>
<div>
<Child
v-model.toUpperCase="message1"
v-model:text.toLowerCase="message2"
/>
<div>绑定输入的字母全为大写:{{message1}}</div>
<div>绑定输入的字母全为小写:{{message2}}</div>
</div>
</template>
//子组件
<template>
<div>
<input
type="text"
:value="modelValue"
@input="handleInput1"
>
<input
type="text"
:value="text"
@input="handleInput2"
>
</div>
</template>
<script>
export default {
props:[‘modelValue‘,‘modelModifiers‘,‘text‘,‘textModifiers‘],
created(){
//对不带参数的v-model绑定,检查对象名称为:modelModifiers
//对于带prop参数的v-model绑定,检查对象名称为:prop + modelModifiers
console.log(this.modelModifiers); //{toUpperCase: true}
console.log(this.textModifiers); //{toLowerCase: true}
},
methods: {
handleInput1(e){
let value = e.target.value;
if(this.modelModifiers.toUpperCase){
value = value.toUpperCase();
}
this.$emit("update:modelValue", value)
},
handleInput2(e){
let value = e.target.value;
if(this.textModifiers.toLowerCase){
value = value.toLowerCase();
}
this.$emit("update:text", value)
}
}
}
</script>
原文:https://www.cnblogs.com/sgs123/p/14188661.html
内容总结
以上是互联网集市为您收集整理的vue3.x初探之v-model的详细使用全部内容,希望文章能够帮你解决vue3.x初探之v-model的详细使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。