当前位置: 首页 > news >正文

Vue 组件通信 - 子传父

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue 组件通信 - 子传父

目录

子传父

场景

应用

传参数给父

总结


子传父

场景

在组件中点击按钮,改变全局变量,而后控制其他组件。

应用

父向子组件上增加了监听事件,来通过子组件操作触发父组件事件。

示例如下:

<script src="../lib/vue.js"></script>
<div id="box">
  <navbar @myevent="handleEvent"></navbar>
  <sidebar v-show="isShow"></sidebar>
</div>
<script>
  // 定义一个全局组件
  Vue.component("navbar", {
    template: `<div style="background-color: red">
            <button @click="handleClick()">点击</button>-导航栏
        </div>`,
    methods: {
      handleClick() {
        console.log("子传父,告诉父组件,取反isShow")
        this.$emit("myevent")
      }
    }
  })

  Vue.component("sidebar", {
    template:`<div style="background-color: yellow">
    <ul>
    <li>第一行</li>
    <li>第二行</li>
    <li>第三行</li>
</ul>
</div>`
  })
  let vm = new Vue({
    el:"#box",
    data:{
      isShow: true
    },
    methods: {
      handleEvent() {
        console.log("触发父组件定义的事件")
        this.isShow = !this.isShow
      }
    }
  })
</script>

效果:

实现点击后 列表的显示和隐藏

传参数给父

还是通过子组件触发父组件事件,这次增加了参数。

示例如下:

// 定义一个全局组件
Vue.component("navbar", {
  template: `<div style="background-color: red">
          <button @click="handleClick()">点击</button>-导航栏
      </div>`,
  methods: {
    handleClick() {
      console.log("子传父,告诉父组件,触发事件")
      this.$emit("myevent", 10000)
    }
  }
})

 

 父组件接收传参,示例如下:

let vm = new Vue({
  el:"#box",
  data:{
    isShow: true
  },
  methods: {
    handleEvent(state) {
      console.log("触发父组件定义的事件,接收参数", state)
      this.isShow = !this.isShow
    }
  }
})

效果:

总结

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue 组件通信 - 子传父

相关文章:

  • C#程序结构及基本组成说明
  • Deeplabv3+改进3:在主干网络中添加NAMAttention|助力涨点!
  • 不仅可以用AI辅助学习,更可以让AI制定学习计划
  • 微服务——网关、网关登录校验、OpenFeign传递共享信息、Nacos共享配置以及热更新、动态路由
  • 基于开源AI大模型的精准零售模式创新——融合AI智能名片与S2B2C商城小程序源码的“人工智能 + 线下零售”路径探索
  • SEO长尾关键词增效策略
  • Nuxt.js 全栈开发指南:构建现代 Web 应用的终极解决方案
  • 【2025力扣打卡系列】0-1背包 完全背包
  • UI-APP---基于HBuilder X的微信小程序
  • 学习笔记10——并发编程2线程安全问题与同步机制
  • C++ 编程基础:注释、字符串、输入输出、日期处理、修饰符
  • LeetCode 2269.找到一个数字的 K 美丽值:字符串数字转换(模拟)
  • postgresql json和jsonb问题记录
  • 多方安全计算(MPC)电子拍卖系统
  • c#中使用时间戳转换器
  • 在vs中无法用QtDesigner打开ui文件的解决方法
  • DeepSeek本地化部署与跨域访问架构构建
  • 基于langchain+llama2的本地私有大语言模型实战
  • 义乌购商品详情接口调用指南:Python实战代码与完整示例
  • 【算法】BST的非递归插入,删除,查询
  • 复旦大学艺术馆开馆:以当代视角再看文科文脉
  • 内蒙古赤峰市城建集团董事长孙广通拟任旗县区党委书记
  • 一女游客在稻城亚丁景区因高反去世,急救两个多小时未能恢复生命体征
  • 上海这场有温度的“人才集市”,为更多人才搭建“暖心桥”
  • 海外考古大家访谈|冈村秀典:礼制的形成与早期中国
  • 征稿启事|澎湃·镜相第三届非虚构写作大赛暨2026第六届七猫现实题材征文大赛