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

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.kler.cn/a/583331.html

相关文章:

  • ctfhub-web-SSRF通过攻略
  • ffmpeg实用技巧:使用ffmpeg命令行从视频文件中提取帧画面并保存为图片
  • 桂链:什么是区块链账本?
  • 为什么 HTTP GET 方法不使用请求体?
  • [笔记.AI]KAG(知识增强生成 Knowledge Augmented Generation)
  • Vue:class与style绑定
  • 【科研绘图系列】python绘制分组点图(grouped dot plot)
  • LiveGBS流媒体平台GB/T28181常见问题-视频流安全控制HTTP接口鉴权勾选流地址鉴权后401Unauthorized如何播放调用接口流地址校验
  • 从Spring容器中获取bean
  • C#实现本地Deepseek模型及其他模型的对话v1.4
  • Python Flask 从 HTTP 请求中解包参数
  • 内检实验室LIMS系统在汽车制造行业的应用
  • 【每日学点HarmonyOS Next知识】粘贴板、异步、用户权限、锁屏事件、对话框
  • [网络爬虫] 动态网页抓取 — Selenium 入门操作
  • FANUC机器人字符串寄存器及指令介绍
  • yolov8在昇腾芯片上的测试
  • Python与Solidity联手:从跨语言智能合约开发到区块链生态跃迁
  • 塔能科技:智能机箱,为城市安防 “智” 造坚实堡垒
  • CES Asia 2025:AR/VR/XR论坛峰会备受瞩目
  • android开发:activity