Vue知识点总结(5)——v-model(超级详细)

news/2024/7/10 1:55:53 标签: vue, html, 前端, javascript

今天的内容是v-model

双向数据绑定是Vue的灵魂特点之一,v-model是完美的体现了Vue双向绑定的特点。

你可以用 v-model 指令表单 inputtextareaselect 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理

v-model 会忽略所有表单元素的 value、checked、selected,attribute 的初始值而总是将 Vue 实例的数据作为数据来源。你应该通过 JavaScript 在组件的 data 选项中声明初始值。

文本

html">   <div id="app">
   <p>{{message}}</p>
    <h3>文本框</h3>
    <p>v-model:<input type="text" v-model="message" /></p>
    </div>
     <script>javascript">
        var app = new Vue({
            el:'#app',
            data:{
                message:'Hello'
            }
        });
    </script>

在这里插入图片描述
你在输入框中输入的东西会很快的渲染到上方的p标签中,这样就完整了一个最基本的数据的双向绑定,非常的简单也非常的实用。

多行文本

html">   <div id="app">
       <h3>文本域</h3>
       <textarea cols="30" rows="10" v-model="message"></textarea>
    </div>
     <script>javascript">
        var app = new Vue({
            el:'#app',
            data:{
                message:'Hello'
            }
        });
    </script>

在这里插入图片描述
效果和单行文本相同,输入的内容会被立即绑定到message上,并渲染到页面上

复选框

html">   <div id="app">
       <h3>多选框绑定数组</h3>
        <p>
            <input type="checkbox" id="Ray" value="Ray" v-model="names">
            <label>Ray</label>
            <input type="checkbox" id="Creator" value="Creator" v-model="names">
            <label>Creator</label>
            <input type="checkbox" id="Code" value="Code" v-model="names">
            <label>Code</label>
        </p>
        <p>{{names}}</p>
    </div>
     <script>javascript">
        var app = new Vue({
            el:'#app',
            data:{
                names:[],
            }
        });
    </script>

在这里插入图片描述
当我们对选项进行选择时,所选的内容会被立即绑定到names中,并以很快的速度渲染到页面上。

单选框

html">   <div id="app">
        <h3>单选框绑定</h3>
        <p>
            <input type="radio" id="m" value="" v-model="sex">
            <label></label>
            <input type="radio" id="w" value="" v-model="sex">
            <label></label>
        </p>
        <p>{{sex}}</p>
    </div>
     <script>javascript">
        var app = new Vue({
            el:'#app',
            data:{
               sex:''
            }
        });
    </script>

在这里插入图片描述

效果和复选框基本类似,选择选项后,所选内容被绑定到sex,然后渲染在页面上。

除此之外,v-model还有一些修饰符

  • .lazy
    在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 (除了上述输入法组合文字时)。你可以添加 lazy 修饰符,从而转为在 change 事件之后进行同步:
  • .number
    如果想自动将用户的输入值转为数值类型,可以给 v-model 添加 number 修饰符:
  • .trim
    如果要自动过滤用户输入的首尾空白字符,可以给 v-model 添加 trim 修饰符
html">   <div id="app">
        <p>{{message}}</p>
        v-model的修饰符:
        <p>v-model.lazy(懒加载):<input type="text" v-model.lazy="message" /></p>
        <p>v-model.number(只绑定数字):<input type="text" v-model.number="message" /></p>
        <p>v-model.trim(去空格至1个):<input type="text" v-model.trim="message" /></p>
    </div>
     <script>javascript">
        var app = new Vue({
            el:'#app',
            data:{
               message:'Hello'
            }
        });
    </script>

在这里插入图片描述
大家可以实际操作一下,看一下修饰符各自的功能,还是比较方便的。

v-model在处理表单输入绑定时,非常的方便、简单、灵活,大家多多尝试一下,可以试一下做个登录注册的小demo。

有微信小程序课设、毕设需求联系个人QQ:505417246

关注下面微信公众号,可以领取微信小程序、Vue、TypeScript、前端、uni-app、全栈、Nodejs、Python等实战学习资料
最新最全的前端知识总结和项目源码都会第一时间发布到微信公众号,请大家多多关注,谢谢!
在这里插入图片描述


http://www.niftyadmin.cn/n/1576608.html

相关文章

JAVA之字母与相对应数字转换

26个字母大小写加起来就是52个。对应的数字范围 System.out.println((char)97);//aSystem.out.println((char)122);//zSystem.out.println((char)65);//ASystem.out.println((char)90);//Z小写的范围为97...122大写的为65...90//将字母转为数字 System.out.println("Z&quo…

Vue知识点总结(6)——侦听器watch(超级详细)

这期主题是watch侦听器。 我们在实际开发的时候&#xff0c;对于动态网页而言&#xff0c;大部分的数值都是在不断变化的&#xff0c;如果我们需要侦听某些数值的变化&#xff0c;用来做出对应处理&#xff0c;watch侦听器是个再好不过的选择。 <div id"app">…

Vue进行深度侦听时,如何解决新旧值一样的问题?

Vue在进行数值/对象等复杂数据类型的深度侦听时&#xff0c;如果不稍加处理&#xff0c;深度侦听的新旧值会一模一样&#xff0c;影响有些业务的处理。 在上一篇博客中我已经把场景阐述清楚了&#xff0c;这期就只写处理办法&#xff0c;沿用上期代码。 只需要添加一个计算属性…

Vue知识点总结(7)——计算属性computed(超级详细)

这期的主题是Vue的计算属性computed。 我们都知道插值表达式{{}}&#xff0c;{{}}可以实现双向的数据绑定&#xff0c;并且可以在其中进行一些常规的算数运算和逻辑运算。 但是模板内的表达式非常便利&#xff0c;但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会…

NUC1019 数素数【素数筛选法】

数素数 时间限制: 1000ms 内存限制: 65536KB 问题描述素数是的只能被1和它本身整除的自然数。判断一个数是素数的方法是使用2到该数的平方根的素数除它&#xff0c;若有能整除的则该数不是素数。输入描述本题有多组数据&#xff0c;每组数据由两个正整数M,N组成。&#xff08; …

Vue知识点总结(8)——filter过滤器(超级详细)

Vue.js 允许你自定义过滤器&#xff0c;可被用于一些常见的文本格式化。过滤器可以用在两个地方&#xff1a;双花括号插值和 v-bind 表达式 (后者从 2.1.0 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部&#xff0c;由“管道”符号指示。 Vue为我们提供了两种过滤器的…

微信小程序云开发实现分页功能(简单易懂)

我们在页面上进行数据展示的时候&#xff0c;无论是pc端还是移动端&#xff0c;很多情况下需要展示很多很多条的数据。 比如商城&#xff0c;商品的数量是非常多的。但是在我们从后台获取数据的时候&#xff0c;数据的传输数量总是有限制的&#xff0c;这也是为了性能考虑&…

Vue知识点总结(9)——局部组件的创建和使用(超级详细)

为什么要组件化开发&#xff1f; 有时候页面代码量太大&#xff0c;逻辑太多或者同一个功能组件在许多页面均有使用&#xff0c;维护起来相当复杂&#xff0c;这个时候&#xff0c;就需要组件化开发来进行功能拆分、组件封装&#xff0c;已达到组件通用性&#xff0c;增强代码可…