当前位置:网站首页>v-model
v-model
2022-08-04 01:40:00 【探索前端究极秘法的小牛】
1,v-model的基本使用
<input type="text" v-model="msg">
<h2>{
{msg}}</h2>
v-model 双向绑定 只要input框的值发生改变,则h2中的ms的值也会同时发生改变
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="app">
<!-- v-model 的基本使用 -->
<input type="text" v-model="msg">
<h2>{
{msg}}</h2>
</div>
<script>
var vm = new Vue({
el:'#app',
data(){
return{
msg:'猜猜我会怎么变化'
}
}
})
</script>
</body>
</html>
效果图
2,v-model的底层原理
首先 来创建有一个小deom, 不用v-model来实现双向绑定
<input type="text" @input="changeValue" :value="msg">
底层的原理就是:用到了oninput方法,用户在输入的时候触发,同时用到v-bind来绑定的
<div id="app">
<!-- v-model 的原理-->
<!-- 1.不适用v-model来实现双向绑定 这里利用了oninput方法 -->
<input type="text" @input="changeValue" :value="msg">
<!-- 底层的原理用到了oninput方法,用户在输入的时候触发,同时用到v-bind来绑定的 -->
<h2>{
{msg}}</h2>
</div>
<script>
var vm = new Vue({
el:'#app',
data(){
return{
msg:'我可是没有用v-model来实现的哦!'
}
},methods:{
changeValue(event){
this.msg=event.target.value
}
}
})
</script>
3,v-model的修饰符的使用
lazy
:默认情况下是实时更新数据加上lazy
,从输入框失去焦点按下enter都会更新数据。number
:默认是string类型,使用number
复制为number类型。trim
:用于自动过滤用户输入的首尾空白字符
<h2>v-model修饰符</h2>
<h3>lazy,默认情况是实时更新数据,加上lazy,从输入框失去焦点,按下enter都会更新数据</h3>
<input type="text" v-model.lazy="message">
<div>{
{message}}</div>
<h3>修饰符number,默认是string类型,使用number赋值为number类型</h3>
<input type="number" v-model.number="age">
<div>{
{age}}--{
{typeof age}}</div>
<h3>修饰符trim:去空格</h3>
<input type="text" v-model.trim="name">
js部分
<script>
const app = new Vue({
el:"#app",
data:{
message:"zzz",
age:18,
name:"ttt"
},
})
</script>
效果图
4, v-model结合select
v-model结合select可以单选也可以多选。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>v-model结合select类型</title>
</head>
<body>
<div id="app">
<!-- select单选 -->
<select name="fruit" v-model="fruit">
<option value="苹果">苹果</option>
<option value="香蕉">香蕉</option>
<option value="西瓜">西瓜</option>
</select>
<h2>你选择的水果是:{
{fruit}}</h2>
<!-- select多选 -->
<select name="fruits" v-model="fruits" multiple>
<option value="苹果">苹果</option>
<option value="香蕉">香蕉</option>
<option value="西瓜">西瓜</option>
</select>
<h2>你选择的水果是:{
{fruits}}</h2>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el:"#app",
data:{
fruit:"苹果",
fruits:[]
},
})
</script>
</body>
边栏推荐
- Flink jdbc connector 源码改造sink之 clickhouse多节点轮询写与性能分析
- 企业虚拟偶像产生了实质性的价值效益
- GNSS【0】- 专题
- 持续投入商品研发,叮咚买菜赢在了供应链投入上
- .NET Static Code Weaving - Rougamo Release 1.1.0
- Is there any jdbc link to Youxuan database documentation and examples?
- C 学生管理系统_分析
- 【Untitled】
- ThreadLocal
- Web APIs BOM - operating browser: swiper plug-in
猜你喜欢
一篇文章看懂JS闭包,从执行上下文角度解析有趣的闭包
企业虚拟偶像产生了实质性的价值效益
Quickly build a website with static files
Continuing to invest in product research and development, Dingdong Maicai wins in supply chain investment
工程制图复习题
Flask框架初学-05-命令管理Manager及数据库的使用
idea中diagram使用
特征值与特征向量
Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
持续投入商品研发,叮咚买菜赢在了供应链投入上
随机推荐
nodejs切换版本使用(不需要卸载重装)
数组_滑动窗口 | leecode刷题笔记
Sky map coordinate system to Gaode coordinate system WGS84 to GCJ02
谁说程序员不懂浪漫,表白代码来啦~
浏览器存储
KunlunBase 1.0 发布了!
LeetCode third topic (the Longest Substring Without Repeating Characters) trilogy # 3: two optimization
Continuing to pour money into commodities research and development, the ding-dong buy vegetables in win into the supply chain
ASP.NET 获取数据库的数据并写入到excel表格中
【正则表达式】笔记
内网穿透-应用
nodejs+express realizes the access to the database mysql and displays the data on the page
多渠道打包
持续投入商品研发,叮咚买菜赢在了供应链投入上
Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
nodejs 安装多版本 版本切换
priority_queue元素为指针时,重载运算符失效
静态文件快速建站
Observability:你所需要知道的关于 Syslog 的一些知识
《The Google File System》新说