zoukankan      html  css  js  c++  java
  • v-model的语法糖

    v-model 主要是用于表单上数据的双向绑定

    一:基本

    1:主要用于 input,select,textarea,component

    2:修饰符:

        .lazy- 取代input监听change事件

        .number- 输入字符串转为数字

        .trim- 输入首尾空格过滤

    二:语法糖

        <input type="text" v-model="mes">  此时mes值就与input的值进行双向绑定

        实际上上面的代码是下面代码的语法糖。

        <input  v-bind:value="mes"  v-on:input="mes= $event.target.value"/>

        要理解这行代码,首先你要知道 input 元素本身有个 oninput 事件,这是 HTML5 新增加的,类似     onchange ,每当输入框内容发生变化,就会触发 oninput ,把最新的value传递给 mes。从而实      现了v-model

    三:v-model用在组件上的时候

    我们知道v-model可以实现数据的双向绑定,但是,如果说这是一个复杂的输入框,在项目中也经常使用。此时我们我们就把这个1输入框封装成组件,那怎么利用v-mode让父组件的值与子组件input框里的值双向绑定起来。看下面的例子

    1:父组件

                    <InputBox v-model="mes"></InputBox>

                根据上面讲的v-model语法糖,所以 InputBox那行代码也可以写成

                <InputBox v-bind:value="value"   v-on:input="mes= $event.target.value"></InputBox>

    2:子组件

     

    所以说:接受一个value  prop    2:在有新的值时触发input事件并将新值作为参数  。这样,我们就可以看到子组件和父组件的值就可以联动起来。但是我们看到v-model中的事件是input,如果碰到单选复选按钮这种check事件,那我们就需要去自定义v-model,我们来看看第四节

    四:v-model自定义。

    1:父组件还是一样的写

    <InputCheckout v-model="foo"></InputCheckout>

    但是单选复选框不会触发input事件,只会触发change事件。所以在子组件我们需要自定义v-model。我们来看看代码哈

    2:

     
     



    再宏伟的目标,拆分下来,也只是一串串的代码而已;一串串的代码,细分来看,也只是一个一个的字母而已!也许,我做不到一晚上完成大神一小时随便敲打的项目,但为这一目标,每天添砖加瓦,我想我应该是可以完成的!
  • 相关阅读:
    R语言使用RMySQL连接及读写Mysql数据库
    sparkR介绍及安装
    信息熵的计算
    django学习-管理界面、视图
    django学习-数据库操作接口API--(CRUD)
    django学习-数据库配置-创建模型
    django学习-安装、创建应用、编写视图
    接口八问 & 接口测试质量评估标准
    robotframework-post request请求携带上一个请求返回的cookie
    pipenv安装包时一直卡在Locking [packages] dependencies…,换pypi源
  • 原文地址:https://www.cnblogs.com/Annely/p/14627918.html
Copyright © 2011-2022 走看看