vue组件通信传参方式

vue组件传参包括父组件向组件传参,子组件向父组件传参,组件之间传参这三种

一、props和$emit

子组件向父组件传参

子组件向父组件传参,通过定义参数的方式传递参数
1.在组件中动态绑定(如果只想传递一个静态的prop ,可以不绑定,如下)要传递的数据
2.在子组件中使用 props 选项去接收来自父组件传递过来的数据
完整代码如下

//父组件
<child :msg= "'这里是你要传给子组件的数据'" class="child"> 
//msg为自定义属性,动态像子组件传递数据
//子组件
<script>
    let child = {
   
      template: `<div>
      <p>下面是来自爸爸的信息:</p>
      <p>{
    { msg }}</p>
    </div>`,
      props: ['msg'] //通过props属性接收父组件传递的参数
    }
    let father = new Vue({
   
      el:'#father',
      components: {
    child }, // 注册子组件
      data: {
   
        message: 'message from father'
      }
    })
  </script>
关于props

1.可以使用v­-bind动态绑定父组件来的内容
2.在组件中使用props来从父组件接收参数,注意,在props中定义的属性,都可以在子组件中直接使用
3.props来自父级,而组件中data return的数据就是组件自己的数据,两种情况作用域就是组件本身,可以在template,computed,methods中直接使用(子组件不能直接修改props中的值)
4.props的值有两种,一种是字符串数组,一种是对象
对于数组或对象类型的 prop 来说,在子组件中改变这个对象或数组本身将会影响到父组件的状态(尽可能将父子组件解耦,避免子组件无意中修改了父组件的状态)

子组件向父组件传参

自定义事件

子组件用 e m i t ( ) 来 触 发 事 件 , 父 组 件 用 v − o n 来 监 听 子 组 件 的 事 件 第 一 步 : 自 定 义 事 件 第 二 步 : 在 子 组 件 中 用 emit() 来触发事件 ,父组件用 v-on来 监听子组件的事件 第一步:自定义事件 第二步: 在子组件中用 emit()vonemit触发事件。第一个参数是事件名,后边的参数是要传递的数据
第三步:在自定义事件中用一个参数来接收

在父组件中自定义事件
  <div id="app">
      <h4>我是父组件 </h4>
      <p>目前积分是: {
  { data }}</p>
      <hr>
      <son-component @update-data="update" > </son-component>
    <!-- v-on 事件监听器在 DOM 模板中会被自动转换为全小写 (因为 HTML 是大小写不敏感的),所以推荐始终使用 kebab-case 的事件名 -->
   </div>
在子组件中用$emit触发事件,并传入一个值
 add: function () {
   
             this.</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值