iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue中$emit的用法详解
  • 529
分享到

vue中$emit的用法详解

2024-04-02 19:04:59 529人浏览 独家记忆
摘要

目录Vue2.xvue3.x子组件父组件vue2.x 1、父组件可以使用 props 把数据传给子组件。2、子组件可以使用 $emit,让父组件监听到自定义事件 。 vm.$emit

vue2.x

1、父组件可以使用 props 把数据传给子组件。
2、子组件可以使用 $emit,让父组件监听到自定义事件 。

vm.$emit( event, arg ) //触发当前实例上的事件

vm.$on( event, fn );//监听event事件后运行 fn;

例如:子组件:

<template>
  <div class="train-city">
    <h3>父组件传给子组件的toCity:{{sendData}}</h3> 
    <br/><button @click='select(`大连`)'>点击此处将‘大连'发射给父组件</button>
  </div>
</template>
<script>
  export default {
    name:'trainCity',
    props:['sendData'], // 用来接收父组件传给子组件的数据
    methods:{
      select(val) {
        let data = {
          cityname: val
        };
        this.$emit('showCityName',data);//select事件触发后,自动触发showCityName事件
      }
    }
  }
</script>

父组件:

<template>
    <div>
        <div>父组件的toCity{{toCity}}</div>
        <train-city @showCityName="updateCity" :sendData="toCity"></train-city>
    </div>
<template>
<script>
  import TrainCity from "./train-city";
  export default {
    name:'index',
    components: {TrainCity},
    data () {
      return {
        toCity:"北京"
      }
    },
    methods:{
      updateCity(data){//触发子组件城市选择-选择城市的事件
        this.toCity = data.cityname;//改变了父组件的值
        console.log('toCity:'+this.toCity)
      }
    }
  }
</script>

图一:点击之前的数据

图二:点击之后的数据

vue3.x

子组件

<template>
  <div class="train-city">
    <h3>父组件传给子组件的toCity:{{sendData}}</h3> 
    <br/><button @click='select(`大连`)'>点击此处将‘大连'发射给父组件</button>
  </div>
</template>
 
<script>
export default {
  name: "train-city",
  props:{
    sendData:{
      Type:String,
      default:""
    }
  },
  emits: ["showCityName"],
  setup(props,{emit}) {
    return {
      select: (cityname) => { emit('showCityName', {cityname}) }
    }
  },
}
</script>

父组件

<template>
    <div>
        <div>父组件的toCity{{toCity}}</div>
        <train-city @showCityName="updateCity" :sendData="toCity"></train-city>
    </div>
<template>
<script>
import TrainCity from "./train-city";
import { Reactive, toRefs} from '@vue';
export default {
  name: "parent-com",
  components: { TrainCity },
  setup() {
    const state = reactive({ toCity:"北京" })  
 
    const updateCity = (data) => {
         state.toCity = data.cityname;//改变了父组件的值
         console.log('toCity:' + state.toCity)
    }
 
    return {
      ...toRefs(state ),
      updateCity
    }
  },
}
</script>

到此这篇关于vue中$emit的用法详解的文章就介绍到这了,更多相关vue $emit用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue中$emit的用法详解

本文链接: https://www.lsjlt.com/news/166019.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue中$emit的用法详解
    目录vue2.xvue3.x子组件父组件vue2.x 1、父组件可以使用 props 把数据传给子组件。2、子组件可以使用 $emit,让父组件监听到自定义事件 。 vm.$emit...
    99+
    2024-04-02
  • vue中$emit怎么用
    这篇文章主要为大家展示了“vue中$emit怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中$emit怎么用”这篇文章吧。在vue中,“$emit”用于触发当前实例上的事件,附近参数...
    99+
    2023-06-29
  • Vue.js之$emit用法案例详解
    1、父组件可以使用 props 把数据传给子组件。 2、子组件可以使用 $emit 触发父组件的自定义事件。 vm.$emit( event, arg ) //触发当前实例上的事件 ...
    99+
    2024-04-02
  • vue之prop与$emit的用法说明
    目录prop与$emit的用法1.vue组件Prop传递数据2.子组件可以使用$emit触发父组件的自定义事件今天遇到的坑--this.$emit我的实现方法效果问题来了,问题解决p...
    99+
    2024-04-02
  • vue中this.$emit使用方法的实际案例
    目录需求:1新增页面2 新增页面中点击关联项目弹出的页面3实现效果总结this.$emit()主要用于子组件向父组件传值。 下面就给大家举一个实际开发中使用到的案例。 需求: 点击关...
    99+
    2023-02-10
    vue this.$emit作用 vue this.$emit
  • Vue中emit事件无法触发的问题及解决
    目录Vue emit事件无法触发问题Vue中emit的使用vue子传父参数的方法共有两种 下列优先讲解下其emit的传输方法 Vue emit事件无法触发问题 在...
    99+
    2024-04-02
  • vue中prop与$emit怎么用
    这篇文章主要介绍“vue中prop与$emit怎么用”,在日常操作中,相信很多人在vue中prop与$emit怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中prop与$emit怎么用”的疑惑有所...
    99+
    2023-06-29
  • Vue中子组件向父组件传值$emit、.sync的案例详解
    目录父组件子组件案例父组件子组件v-model首先我们可先了解一个父组件向子组件传值的一个案例:将父组件请求的后端数据传值给子组件props 因为通过属性传值是单向的,有时候我们需要...
    99+
    2024-04-02
  • vue中$set用法详解
    目录1、为什么要用set?2、set用法3、什么时候使用set?4、文档地址摘要:地址没有改变,vue就监测不到数据变化。这个时候,双向绑定就失效了。 想了解有关JS堆栈的知识?请点...
    99+
    2022-12-09
    vue中$set用法 $set使用 vue中的$set
  • Vue中$emit $refs子父组件间方法如何调用
    这篇文章将为大家详细讲解有关Vue中$emit $refs子父组件间方法如何调用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、$emit子组件调用父组件的方法并传递数...
    99+
    2024-04-02
  • vue中关于$emit和$on的使用及说明
    目录$emit和$on的使用及说明1. vm.$on(event,callback)2. vm.$emit(eventName,[…args])3.示例$emit和$o...
    99+
    2022-11-13
    vue中$emit使用 vue中$on使用 $emit和$on使用
  • vue3中使用ref和emit来减少props的使用示例详解
    目录前言示例示例1示例2前言 在之前开发vue2项目中,props 属性在组件中经常使用来进行组件通信。现在在开发vue3项目的过程中,我们开发小组渐渐的减少props的使用,转而用...
    99+
    2024-04-02
  • Vue中XMLHttpRequest的使用方法详解
    Vue中使用XMLHttpRequest(XHR)来获取数据的方式与传统的HTML页面相同。以下是Vue中XMLHttpRequest的详细使用方法: 1.创建XMLHttpRequ...
    99+
    2023-05-19
    Vue XMLHttpRequest使用方法 Vue XMLHttpRequest Vue XMLHttpRequest
  • Vue中axios的基本用法详解
    目录1.什么是axios2.axios的特征3.axios在使用的时候需要注意的细节4.axios在vue中的实例运用(留言评论接口)App.vue代码mian.js代码1.什么是a...
    99+
    2024-04-02
  • Vue中的nextTick方法详解
    目录vue nextTick与node的nextTick的区别vue nextTick Vue.nextTick() 是一个方法,用于在下次 DOM 更新循环结束之后执行延迟回调。它...
    99+
    2023-05-16
    Vue nextTick Vue nextTick方法
  • c#中emit的使用方法是什么
    在C#中,emit是一个动态生成IL代码的技术,通常与反射和动态代码生成结合使用。通过emit,我们可以在运行时动态创建和修改程序集...
    99+
    2024-04-02
  • Vue中watch使用方法详解
    目录前言watchimmediate和handlerdeep拓展前言 说到 vue 中的 watch 方法,大家可能首先想到,它是用来监听数据的变化,一旦数据发生变化可以执行一些其他...
    99+
    2023-01-28
    Vue watch用法 Vue watch原理
  • 关于vue.js中this.$emit的理解使用
    目录一、每个 Vue 实例都实现了事件接口二、注意事项三、例子及说明 四、总说明一、每个 Vue 实例都实现了事件接口 即: 1、使用 $on(eventName) 监听事...
    99+
    2024-04-02
  • Vue中$on和$emit的实现原理分析
    目录Vue中发布订阅模式$emit和$on用法深挖首先剖析一下$on的原理实现有一点要记住先定义的先触发分析$emit先打个断点Vue中发布订阅模式 在Vue中采用了发布订阅模式,典...
    99+
    2024-04-02
  • vue 双向绑定问题$emit无效的解决
    目录vue 双向绑定问题$emit无效父组件子组件vue双向绑定指令功能效果展示vue 双向绑定问题$emit无效 父组件变量传给子组件,子组件$emit 触发父组件的方法修改父组件...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作