Vue组件之实现自定义事件

自定义事件本质是由子组件向父组件传递信息

1、子组件,触发click点击事件时,通过$emit(...)触发父组件里自定义的事件defclick

<template>
    <div role="alert" :class="[‘el-alert‘,changeAlert,‘is-center‘,‘is-light‘]">
        <i :class="[‘el-alert__icon‘,changeIcon]"></i>
        <div class="el-alert__content">
            <slot name="title">
                <span class="el-alert__title">{{title}}</span>
            </slot>
            <i class="el-alert__closebtn el-icon-close" @click="clickHandle"></i>
        </div>
    </div>
</template>

<script>
export default {
    methods:{
        clickHandle(){
            this.$emit(‘defclick‘);
        }
    }
}
</script>

2、父组件,定义自定义事件defclick对应的处理函数,接收来自子组件的信息

<template>
  <div id="app">
    <alert type="success" title="这是一段成功提示的信息" @defclick=‘clickHandle‘ />
    <alert @defclick="clickHandle" />
  </div>
</template>

<script>
import alert from ‘@/components/alert‘//引入子组件

export default {
  name: ‘App‘,
  components: {//注册
    alert
  },
  methods: {
    clickHandle() {
      console.log(‘test‘)
    }
  }
}
</script>

原文地址:https://www.cnblogs.com/tangzhi/p/12643829.html

时间: 2024-10-03 05:36:21

Vue组件之实现自定义事件的相关文章

vue组件-子组件向父组件传递数据-自定义事件

自定义事件 我们知道,父组件是使用 props 传递数据给子组件,但如果子组件要把数据传递回去,应该怎样做?那就是自定义事件!

vue组件、路由、事件

目录 定义Vue组件 组件定义 组件化和模块化的不同 组件中展示数据和响应事件 使用components属性定义局部子组件 组件切换 使用flag标识符结合v-if和v-else切换组件 使用:is属性来切换不同的子组件,并添加切换动画 父子组件传值 父组件向子组件传值 子组件向父组件传值 使用 this.$refs 来获取元素和组件 路由 什么是路由 在 vue 中使用 vue-router 在路由规则中定义参数 使用 children 属性实现路由嵌套 命名视图实现经典布局 watch监听属

[Vue]组件——通过$emit自定义组件事件

1.在定义组件时调用内建的 $emit 方法并传入事件的名字,来向父级组件触发一个事件enlarge-text: Vue.component('blog-post', { props: ['post'], template: ` <div class="blog-post"> <h3>{{ post.title }}</h3> <button v-on:click="$emit('enlarge-text')"> En

Vue组件的操作-自定义组件,动态组件,递归组件

作者 | Jeskson 来源 | 达达前端小酒馆 v-model双向绑定 创建双向数据绑定,v-model指令用来在input,select,checkbox,radio等表单控件.v-model指令在内部使用不同的属性为不同的输入元素抛出不同的事件. v-mdel指令实现数据的双向绑定: <div> 用户名:<input type="text" v-model="name"> </div> 输入用户名是:{{name}} &l

Vue之彻底理解自定义组件的v-model

最近在学习vue,今天看到自定义事件的表单输入组件,纠结了一会会然后恍然大悟...官方教程写得不是很详细,所以我决定总结一下. v-model语法糖 v-model实现了表单输入的双向绑定,我们一般是这么写的: 1 <div id="app"> 2 <input v-model="price"> 3 </div> 1 new Vue({ 2 el: '#app', 3 data: { 4 price: '' 5 } 6 }); 通

vue组件详解(三)——组件通信

组件之间通信可以用下图表示: 组件关系可分为父子组件通信.兄弟组件通信.跨级组件通信. 一.自定义事件 当子组件需要向父组件传递数据时,就要用到自定义事件. 子组件用$emit ()来触发事件,父组件用$on()来监昕子组件的事件. 父组件可以直接在子组件的自定义标签上使用v-on 来监昕子组件触发的自定义事件,如: <div id="app9"> <p>总数:{{total}}</p> <my-component9 @add="ge

写一个vue组件

写一个vue组件 我下面写的是以.vue结尾的单文件组件的写法,是基于webpack构建的项目.如果还不知道怎么用webpack构建一个vue的工程的,可以移步到vue-cli. 一个完整的vue组件会包括一下三个部分: template:模板 js: 逻辑 css : 样式 每个组件都有属于自己的模板,js和样式.如果将一个页面比喻成一间房子的话,组件就是房子里的客厅.卧室.厨房.厕所.如果把厨房单独拿出来的话,组件又可以是刀.油烟机...等等.就是说页面是由组件构成的,而组件也可以是组件构成

vue 组件间的通信

(1)props:用于父组件向子组件传递消息 使用方法: 在父组件中,使用子组件时,<Child v-bind:data="data"/>,通过v-bind把子组件需要的数据传递给子组件: 在子组件中通过props来接受传过来的数据,常用写法:props:['data',......]/props:{data:dataType,.....} 举例: (2)自定义事件:用于子组件向父组件传递消息 使用方法: 在父组件中,对子组件的标签绑定一个自定义的事件监听,<Chil

Vue组件化开发

一. 通过axios实现数据请求 1. json简介 json是 JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数据格式. json的作用:在不同的系统平台,或不同编程语言之间传递数据. 1.1 json数据的语法 json数据对象类似于JavaScript中的对象,但是它的键对应的值里面是没有函数方法的,值可以是普通变量,不支持undefined,值还可以是数组或者jso