• 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>

                       

  • 相关阅读:
    11.27
    MISRA 2012学习笔记(5)-Rules 8.10
    Jmeter(101)——Beashell中Script File的用法
    交叉熵Loss多分类问题实战(手写数字)
    C++Qt开发——操作MySQL数据库
    JVM面试87题你真的都会了吗?
    10 个很棒的 Python 3.9 特性
    读书笔记:c++对话系列,Visitor模式
    postgresql14管理(五)-tablespace
    (Matlab)基于蝙蝠算法实现电力系统经济调度
  • 原文地址:https://blog.csdn.net/2202_75871191/article/details/136802771