• v-model的基本使用,v-model原理;v-model绑定;v-model的值绑定;v-model修饰符


    1_v-model的基本使用
    表单提交是开发中常见功能,也是和用户交互的重要手段:

    比如用户在登录、注册时需要提交账号密码;
    比如用户在检索、创建、更新信息时,需要提交一些数据;
    这些都要求可以在代码逻辑中获取到用户提交的数据,通常会使用v-model指令来完成:

    v-model指令可以在表单 input、textarea以及select元素上创建双向数据绑定;
    它会根据控件类型自动选取正确的方法来更新元素;
    尽管如此, v-model 本质上是语法糖,它负责监听用户的输入事件来更新数据,并在某种极端场景下进行一些特殊处理;
    比如下面的代码,input利用v-model实现了双向绑定。输入框中的内容,通过数据message会同时显示在h2标签中
     

          

    2_v-model的原理

    v-model的原理其实是背后有两个操作:

    • v-bind绑定value属性的值;
    • v-on绑定input事件监听到函数中,函数会获取最新的值赋值到绑定的属性中;
      1. <input v-model="searchText">
      2. 等价于
      3. <input :value="searchText" @input="searchText = $event.target.value">

      _v-model修饰符
      3_lazy
      默认情况下,v-model在进行双向绑定时,绑定的是input事件,那么会在每次内容输入后就将最新的值和绑定的属性进行同
      步;

      如果在v-model后跟上lazy修饰符,那么会将绑定的事件切换为 change 事件,只有在提交时(比如回车)才会触发;
       

      1. <input type="text" v-model.lazy="message">
      2. <h2>message: {{message}}h2>

      3_number
      v-model绑定后的值总是string类型,即使在设置type为number也是string类型;

      如果希望转换为数字类型可以使用 .number 修饰符。 另外,在进行逻辑判断时,如果是一个string类型,在可以转化的情况下会进行隐式转换的。 下面的score在进行判断的过程中会进行隐式转化的;
       

      1. <!-- 2.number: 自动将内容转换成数字 -->
      2. <input type="text" v-model.number="counter">
      3. <h2>counter: {{counter}}-{{typeof counter}}</h2>
      4. <input type="number" v-model="counter2">
      5. <h2>counter: {{counter2}}-{{typeof counter2}}</h2>

                       

  • 相关阅读:
    听GPT 讲Rust源代码--library/std(1)
    二分查找(c语言)
    c++的字节序与符号位的问题
    记录一下自行安装RabbitMQ的步骤
    科技成果验收测试需注意哪些方面?
    SQL按照id集合顺序返回
    【JVM】运行时数据区 - 虚拟机栈(Java栈)
    整理mongodb文档:副本集二
    XP小皮面板中的Mysql启动就停止,本地Mysql无法启动解决方法
    2023-09-07力扣每日一题
  • 原文地址:https://blog.csdn.net/2202_75871191/article/details/136802771