• v-model的理解


    v-model不仅可以用在input表单上,还可以用到其他表单元素上,还可以用在自定义组件上。

    v-model 在内部为不同的表单输入元素使用不同的 property ,并抛出不同的事件:

    • text 和 textarea 元素使用 value property 和 input 事件;
    • checkbox 和 radio 使用 checked property 和 change 事件;
    • select 字段将 value 作为 prop 并将 change 作为事件。

    v-model作用在自定义组件上,

    一个组件上的 v-model 默认会利用名为 value 的 prop 和名为 input 的事件;比如引入组件A:

    <A v-model="xx" /> 相当于 <A :value='xx' @input='input'/>其中的input(val){this.xx = val}

    例子;
    父组件:
    <template> <div id="app"> <!-- <A :value="age" @input="input" /> --> <A v-model="age" /> </div> </template> <script> import A from './components/A.vue'; export default { name: 'App', data() { return { age: 0, }; }, components: { A, }, methods: { // input(value) { // this.age = value; // }, }, }; </script>
    //组件A:
    <template> <div class="a-container" > <input type="text" :value="value" > <p><button @click='change(value+1)'>+</button></p> <p><button @click='change(value-1)'>-</button></p> <!-- <B/> --> </div> </template> <script> export default { props:{ value:{ type:Number, default:1 } }, methods:{ change(val){ console.log(val); this.$emit('input',val) } } } </script>

    修改默认的prop:value和event:input,可以用在组件中定义model属性,

    <template>
      <div class="a-container">
        <input type="text" :value="number" />
        <p><button @click="change(number + 1)">+</button></p>
        <p><button @click="change(number - 1)">-</button></p>
        <!-- <B/> -->
      </div>
    </template>
    
    <script>
    export default {
      model: {
        prop: 'number',
        event: 'change',
      },
      props: {
        number: {
          type: Number,
          default: 1,
        }
      },
      // props:{
      //   value:{
      //     type:Number,
      //     default:1
      //   }
      // },
      methods: {
        // change(val) {
        //   console.log(val);
        //   this.$emit('input', val);
        // },
         change(val) {
          console.log(val);
          this.$emit('change', val);
        },
      },
    };
    </script>
    
    <style>
    </style>
        个人感觉用处不大,多写一个父组件上的一个属性和方法而已
  • 相关阅读:
    小心SQL SERVER 2014新特性——基数评估引起一些性能问题
    SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值
    Windows Server 2012 Recycle Bin corrupted
    SQL SERVER CHAR ( integer_expression )各版本返回值差异的案例
    SQL Server 2008 R2 升级到 Service Pack 3后Report Builder启动不了
    MySQL如何导出带日期格式的文件
    ORACLE TO_CHAR函数格式化数字的出现空格的原因
    Linux监控工具介绍系列——smem
    Linux命令学习总结:dos2unix
    Linux命令学习总结:hexdump
  • 原文地址:https://www.cnblogs.com/dangdanghepingping/p/14903426.html
Copyright © 2020-2023  润新知