ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

父组件和子组件相互传值

2019-07-15 11:51:03  阅读:245  来源: 互联网

标签:methods defaultValue 和子 props 组件 data emit 传值


父组件向子组件传值 props

父组件:

 标签

<child type="note" :defaultValue="mdl.title"></child>

  

子组件:

 标签 

<p>{{type}}</p>

 脚本

props: {
    type: null,
    defaultValue : null
},

   或者

props: ['type', 'defaultValue'],

我一般默认设null(不初始值会报错),然后在beforeMount()方法做判断和赋值

beforeMount () {
    if (this.defaultValue) {
      this.setData(this.defaultValue)
    }
},
methods: {
    setData (data) {
      this.fileList = data
    },
}

注:如果父组件传进来的带下划线,传进来的数据是a-bc, vue转化成aBc, 在js 里面写aBc

 

子组件更新值给父组件 this.$emit

父组件:

 标签

<child v-on:change="showChildChange"></child>

  或者

<child @change="showChildChange"></child>

 脚本  

methods: {
    showChildChange (value) {
        console.log('value', value)
    }
}

  

子组件:

this.$emit 子组件发射自定义事件sendiptVal 并携带要传递给父组件的值

脚本

methods: {
    handleChange ({ data }) {
      this.$emit('change', data)
    },
},

如果要传递给父组件很多值,这些值要作为参数依次列出 如 this.$emit('change', 1, 2); 

 

还有一种watch(监听)父组件数据的方法,可参考:https://www.jianshu.com/p/1b7e8a28d836

 

参考:

vue 中父子组件传值:props和$emit:https://www.cnblogs.com/rlann/p/7163045.html

vue—子组件修改父组件的值:https://blog.csdn.net/sinat_36422236/article/details/79403718

 

标签:methods,defaultValue,和子,props,组件,data,emit,传值
来源: https://www.cnblogs.com/cxscode/p/11187989.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有