zoukankan      html  css  js  c++  java
  • vue子组件属性双向绑定

    我们要对子组件属性prop进行“双向绑定”,一般是在子组件中通过$emit(event, [...参数])触发一个自定义的事件,这样,父组件可以在使用子组件的地方直接用 v-on来监听子组件触发的事件, 并且可以在监听函数中依次取得所有从子组件传来的参数,如下

    this.emit('eventYouDefined', arg); // 子组件触发自定义事件
    
    // 父组件监听自定义事件
    <Son  v-on: eventYouDefined = "functionYours" />

    .sync修饰符是在vue2.3.1+版本开始使用,只要在父组件里对要双向绑定的属性使用.sync修饰符就可以了,不用再定义什么自定义事件。

    此外,在学习vue自定义事件的.sync修饰符实现改变数值时发现一个问题如下

    由于props的大小写命名:fatherNum,对应不同的$emit()会有不同的效果,具体如下:

    使用.sync修饰符,即

    // this.$emit('update:father-num',100);  //无效
        this.$emit('update:fatherNum',100); //有效
        //......
        <father v-bind:father-num.sync="test"></father>

    不使用.sync,即

    this.$emit('update:father-num',100);  //有效
          //this.$emit('update:fatherNum',100); // 无效
          
          //......
         <father v-bind:father-num="test" v-on:update:father-num="test=$event" ></father>
  • 相关阅读:
    织梦当前位置去除最后字符
    一霎清明雨,实现考勤管理。
    浅谈:C#中的非泛型集合
    简述结构和类的区别
    项目经理评分系统
    那些年我们一起~做过的魔兽系统
    浅谈:什么是.NET
    MyKTV系统项目的感想
    开发“航班查询及预定”系统
    java面试的一些问题
  • 原文地址:https://www.cnblogs.com/wxcbg/p/14651174.html
Copyright © 2011-2022 走看看