当前位置: 首页 > 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 组件通信 - 子传父

http://www.dtcms.com/a/61957.html

相关文章:

  • 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的非递归插入,删除,查询
  • 蓝桥杯[每日两题] 练习题:盛最多水的容器 三数之和(java版)
  • flutter的HTTP headers用法介绍
  • 【组件安装】Rocky 8.10 安装Local License Server 25.03.0 for Linux
  • Python基本语法——变量
  • Conda环境搭建实战指南:打造高效开发环境
  • DeepSeek开源Day2:DeepEP技术详解
  • Ae 效果详解:VR 降噪
  • tkinter上canvas展示图片报错(mac系统)
  • 【人工智能】随机森林的智慧:集成学习的理论与实践
  • Linux练级宝典->Linux进程概念介绍