vue2.0 中#$emit,$on的使用详解

vue1.0中 vm.$dispatch 和 vm.$broadcast 被弃用,改用$emit,$on

1. vm.$on( event, callback )

监听当前实例上的自定义事件。事件可以由vm.$emit触发。回调函数会接收所有传入事件触发函数的额外参数。

1 vm.$emit( event, […args] )

触发当前实例上的事件。附加参数都会传给监听器回调。

例子:

 1 //父组件
 2 <template>
 3   <ratingselect @select-type="onSelectType"></ratingselect>
 4 </template>
 5 <script>
 6   data () {
 7    return {
 8     selectType: 0,
 9   },
10   methods: {
11    onSelectType (type) {
12     this.selectType = type
13    }
14   }
15 </script>

父组件使用@select-type="onSelectType"@就是v-on的简写,监听由子组件vm.$emit触发的事件,通过onSelectType()接受从子组件传递过来的数据,通知父组件数据改变了。

// 子组件
<template>
 <div>
  <span @click="select(0, $event)" :class="{‘active‘: selectType===0}"></span>
  <span @click="select(1, $event)" :class="{‘active‘: selectType===1}"></span>
  <span @click="select(2, $event)" :class="{‘active‘: selectType===2}"></span>
 </div>
</template>
<script>
  data () {
   return {
    selectType: 0,
  },
  methods: {
    select (type, event) {
      this.selectType = type
      this.$emit(‘select-type‘, type)
   }
  }
</script>

子组件通过$emit来触发事件,将参数传递出去。

以上所述是小编给大家介绍的vue2.0 中#$emit,$on的使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

时间: 2024-08-01 18:12:49

vue2.0 中#$emit,$on的使用详解的相关文章

cocos2d-x3.0 新的物理引擎之详解setCategoryBitmask()、setContactTestBitmask()、setCollisionBitmask()

转载请注明出处:游戏开发实验室http://blog.csdn.net/u010019717/article/details/32942641 我在编写游戏的时候遇到了这个问题,  物理引擎其他的内容还好理解,  就这三个函数就是没找到有人详细的解释一下.  我不知道这个都没弄明白,游戏是怎么做出来的.那我就不吐糟了,      下面的所有内容都是我的个人推断.不知道正不正确.    反正我目前是这么理解的. 我们先来看看这三个函数的定义: /** * A mask that defines w

vue-cli3.0 脚手架搭建项目的过程详解

1.安装vue-cli 3.0 ? 1 2 3 npm install -g @vue/cli # or yarn global add @vue/cli 安装成功后查看版本:vue -V(大写的V) 2.命令变化 ? 1 vue create --help 用法:create [options] <app-name> 创建一个由 `vue-cli-service` 提供支持的新项目 选项: -p, --preset <presetName>       忽略提示符并使用已保存的或

CentOS 7.0安装配置Vsftp服务器步骤详解

安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止

0.ring0-蓝屏dump分析流程详解

http://blog.csdn.net/hgy413/article/details/6451619 以下是自己分析dump的一些经验,个人之见 系统蓝屏后,会先出来一个提示: 也可以通过dump来看到: 打开MSDN对蓝屏的说明:http://msdn.microsoft.com/en-us/library/windows/hardware/hh994433(v=vs.85).aspx 找到0x19的说明: [cpp] view plaincopy 0×00000019 BAD_POOL_H

Android6.0 ViewGroup/View 事件分发机制详解

之前自认为对于Android的事件分发机制还算比较了解,直到前一阵偶然跟人探讨该问题,才发现自己以前的理解有误,惭愧之余遂决定研习源码,彻底弄明白Android的事件分发机制,好了废话少说,直接开干. 首先,我们对Android中的touch事件做一下总结,主要分为以下几类: 1.Action_Down  用户手指触碰到屏幕的那一刻,会触发该事件: 2.Action_Move   在触碰到屏幕之后,手指开始在屏幕上滑动,会触发Action_Move事件: 3.Action_Up       在用

关于MVC4.0中@Styles.Render用法与详解

本文分享于http://keleyi.com/a/bjac/q74dybjc.htm文章,感觉写的蛮好所以就拿过来做笔记了,希望对大家有帮助 最近公司的新项目用了MVC 4.0,接下来一步步把 工作中遇到的问题 总结起来.. [email protected] 在页面上可以用@Styles.Render("~/Content/css") 来加载css 首先要在App_Start 里面BundleConfig.cs 文件里面 添加要包含的css文件 BundleConfig就是一个微软新

4.0中的并行计算和多线程详解(一)【转】

并行计算部分 沿用微软的写法,System.Threading.Tasks.::.Parallel类,提供对并行循环和区域的支持. 我们会用到的方法有For,ForEach,Invoke. 一.简单使用 首先我们初始化一个List用于循环,这里我们循环10次.(后面的代码都会按这个标准进行循环) Code Program.Data = new List<int>(); for (int i = 0; i < 10; i++) { Data.Add(i); } 下面我们定义4个方法,分别为

cocos2d-x3.0 新的物理引擎之详解setCategoryBitmask()、setContactTestBitmask()、setCollisionBit...(转)

时间 2014-06-21 20:20:10  CSDN博客原文  http://blog.csdn.net/u010019717/article/details/32942641 转载请注明出处:游戏开发实验室 http://blog.csdn.net/u010019717/article/details/32942641 我在编写游戏的时候遇到了这个问题,  物理引擎其他的内容还好理解,  就这三个函数就是没找到有人详细的解释一下.  我不知道这个都没弄明白,游戏是怎么做出来的.那我就不吐糟

Yii2.0数据库操作增删改查详解

1.简单查询: one(): 根据查询结果返回查询的第一条记录. all(): 根据查询结果返回所有记录. count(): 返回记录的数量. sum(): 返回指定列的总数. average(): 返回指定列的平均值. min(): 返回指定列的最小值. max(): 返回指定列的最大值. scalar(): 返回查询结果的第一行中的第一列的值. column(): 返回查询结果中的第一列的值. exists(): 返回一个值,该值指示查询结果是否有数据. where(): 添加查询条件 wi