dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 577|回复: 0

[前端] 在Vue中进行组件通信

[复制链接]
  • TA的每日心情
    奋斗
    2023-9-9 08:05
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    358

    主题

    374

    帖子

    1641

    积分

    荣誉会员

    积分
    1641

    发表于 2023-9-13 21:00:08 | 显示全部楼层 |阅读模式

    本站资源全部免费,回复即可查看下载地址!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    在Vue中,有多种方法可以实现组件通信。下面是常见的几种方法:

    1. Props:通过父组件向子组件传递数据。父组件可以通过在子组件上绑定属性来传递数据,并且子组件可以使用props接收这些数据。
    [HTML] 纯文本查看 复制代码
    // 父组件 
    <template> 
      <child-component :message="message"></child-component> 
    </template> 
     
    <script> 
    export default { 
      data() { 
        return { 
          message: 'Hello World' 
        }; 
      } 
    }; 
    </script> 
     
    // 子组件 
    <template> 
      <div>{{ message }}</div> 
    </template> 
     
    <script> 
    export default { 
      props: ['message'] 
    }; 
    </script> 
    


    2. 自定义事件:子组件可以通过触发自定义事件来向父组件发送消息。父组件可以通过监听这些事件来获取子组件传递的数据。
    [HTML] 纯文本查看 复制代码
    // 子组件 
    <template> 
      <button @click="sendMessage">发送消息</button> 
    </template> 
     
    <script> 
    export default { 
      methods: { 
        sendMessage() { 
          this.$emit('message', 'Hello World'); 
        } 
      } 
    }; 
    </script> 
     
    // 父组件 
    <template> 
      <child-component @message="handleMessage"></child-component> 
    </template> 
     
    <script> 
    export default { 
      methods: { 
        handleMessage(message) { 
          console.log(message); // 输出 'Hello World' 
        } 
      } 
    }; 
    </script> 
    


    3. $refs:父组件可以使用$refs引用子组件,并直接调用子组件的方法或访问其属性。
    [HTML] 纯文本查看 复制代码
    // 父组件 
    <template> 
      <div> 
        <child-component ref="childComponent"></child-component> 
        <button @click="sendMessage">发送消息</button> 
      </div> 
    </template> 
     
    <script> 
    export default { 
      methods: { 
        sendMessage() { 
          this.$refs.childComponent.handleMessage('Hello World'); 
        } 
      } 
    }; 
    </script> 
     
    // 子组件 
    <template> 
      <div>{{ message }}</div> 
    </template> 
     
    <script> 
    export default { 
      data() { 
        return { 
          message: '' 
        }; 
      }, 
      methods: { 
        handleMessage(message) { 
          this.message = message; 
        } 
      } 
    }; 
    </script> 
    


    上述是几种常见的Vue组件通信方法,根据具体情况选择合适的方法来进行组件之间的数据传递和通信。

    温馨提示:
    1、本站所有内容均为互联网收集或网友分享或网络购买,本站不破解、不翻录任何视频!
    2、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意!
    3、本站资源仅供本站会员学习参考,不得传播及用于其他用途,学习完后请在24小时内自行删除.
    4、本站资源质量虽均经精心审查,但也难保万无一失,若发现资源有问题影响学习请一定及时点此进行问题反馈,我们会第一时间改正!
    5、若发现链接失效了请联系管理员,管理员会在2小时内修复
    6、如果有任何疑问,请加客服QQ:1300822626 2小时内回复你!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|本站代理|dmz社区

    GMT+8, 2024-12-23 11:49 , Processed in 0.654359 second(s), 29 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表