zoukankan      html  css  js  c++  java
  • 自定义组件的 vmodel

    一个组件上的 v-model 默认会利用名为 value 的 prop 和名为 input 的事件,但是像单选框、复选框等类型的输入控件可能会将 value attribute 用于不同的目的。

    model 选项可以用来避免这样的冲突:

    // 子组件
    <template>
      <input type="checkbox" v-bind:checked="checked" v-on:change="$emit('change', $event.target.checked)">
    </template>
    
    <script>
      export default {
        name:'base-checkbox',
        props: {
          checked: Boolean
        },
     // 这个model选项就是用来改变默认的v-mode的绑定属性和抛出事件的
        model: {
          prop: 'checked',
          event: 'change' 
        }
      }
    </script>

     在这个组件上使用 v-model 的时候:

    // 父组件
    <base-checkbox v-model="lovingVue"></base-checkbox>

    这里的 lovingVue 的值将会传入这个名为 checked 的 prop。同时当 <base-checkbox> 触发一个 change 事件并附带一个新的值的时候,这个 lovingVue 的 property 将会被更新。

    1、v-model默认语法糖等同于 :value="price" @input="price=$event.target.value" 一般用于input等组件;

    2、此处由于是checkbox,使用默认的就不合适了,所以数值绑定checked事件绑定change;

  • 相关阅读:
    WebAPI中路由参数中包含字符-点“.”
    Web API 授权筛选器
    WebApi
    C#视频拍照、视频录制项目示例
    WPF 获取鼠标屏幕位置、窗口位置、控件位置
    C#中字符串转换为计算公式
    ffmpeg开发文档
    .net core控制台应用程序初识
    网络书籍
    ffmpeg命令参数详解
  • 原文地址:https://www.cnblogs.com/zjianfei/p/15556708.html
Copyright © 2011-2022 走看看