返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue之自定义事件内容分发详解
  • 251
分享到

Vue之自定义事件内容分发详解

2024-04-02 19:04:59 251人浏览 八月长安
摘要

1、小伙伴们这个理解起来有点复杂,希望仔细看里面的原理,自己去敲一遍: <!DOCTYPE html> <html lang="en"> <head

1、小伙伴们这个理解起来有点复杂,希望仔细看里面的原理,自己去敲一遍:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div id="app">
    <todo>
        <xian slot="xian" :title="title"></xian>
        // 建议从后面往前看,理解为遍历得到的值赋值给v-bind,v-bind的值赋值给props同名的值
        // [提醒]v-on:绑定的自定义事件名会自动变成小写,如果有人事件名用了大写,下面this.$emit里仍然是大写,会绑定不上
        <yu slot="yu" v-for="(item,index) in items"
            v-bind:item="item" v-bind:index="index"
            v-on:remove="deleteItems(index)"></yu>
        // Vue实例将数据和方法与View层绑定,View层在分发这些数据和方法到下面的组件绑定,View相当于中转了Vue实例的数据和方法交由组件控制
    </todo>
</div>

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
<script>
    Vue.component("todo",{
       template:  '<div>\
                        <slot name="xian"></slot>\
                        <ul>\
                            <slot name="yu"></slot>\
                        </ul>\
                    </div>'
    });
    Vue.component("xian",{
        props: ['title'],
        template: '<div>{{title}}</div>'
    });
    Vue.component("yu",{// props是参数名,类似于变量名,可以随便定义,v-bind绑定的是变量,是数据,是定义的变量
        props: ['item','index'],
        // 只能绑定当前组件的方法
        template: '<li>{{index}}---->{{item}}<button @click="remove">delete</button></li>',
        methods: {
            remove: function (index) {
                // this.$emit 自定义事件分发
                // 【注意】this.$emit('事件名')这个事件名要使用kebab-case(短横线命名)方式,不要写成camelCased (驼峰式);
                this.$emit('remove',index);
            }
        }
    });
    var vm = new Vue({
        el: "#app",
        data: {
            title: "作者",
            items: ['咸鱼翻身1','咸鱼翻身2','咸鱼翻身3']
        },
        methods: {
            deleteItems: function (index) {
                console.log("您删除了"+this.items[index]);
                this.items.splice(index,1);
            }
        }
    });
</script>

</body>
</html>

运行结果:

在这里插入图片描述

当我们点击删除就能删除任意的作者名字,这里我点击删除第二个,显示结果如下:

在这里插入图片描述

2、这里有一个图供大家理解:

在这里插入图片描述

理解大概是这样 组件和实例之间方法不能互调 而要删除的节点属于实例的属性 所以通过事件分发让组件中定义的方法转向实例中定义的方法 然后删除节点

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Vue之自定义事件内容分发详解

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

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

猜你喜欢
  • Vue之自定义事件内容分发详解
    1、小伙伴们这个理解起来有点复杂,希望仔细看里面的原理,自己去敲一遍: <!DOCTYPE html> <html lang="en"> <head...
    99+
    2024-04-02
  • Vue之组件的自定义事件详解
    目录总结 <template> <div > <h2>{{msg}}</h2> <!-- 通过父组件给...
    99+
    2024-04-02
  • Android自定义View事件分发流程详解
    目录正文事件分发流程总结正文 事件传递和事件分发其实就是一个东西,叫法不一致罢了,你不用被名称所迷惑。有的人管这个叫事件传递机制,有的人则叫它事件分发机制。为了避免混淆,我这里统一...
    99+
    2023-02-02
    Android View事件分发 Android自定义View
  • 一文详解Vue-组件自定义事件(绑定和解绑)
    目录组件自定义事件(绑定)1 编写案例2 props实现3 自定义事件实现方式14 自定义事件实现方式25 只能触发一次事件6 多个参数传递组件自定义事件(解绑)1 解绑一个事件2 ...
    99+
    2023-05-18
    Vue-组件自定义事件 Vue-组件自定义 Vue-组件
  • Android开发之自定义UI组件详解
    Android开发自定义UI组件实现红色小球跟随手指移动 要写实现自定义UI组件,要创建一个BallView类,继承View类,在BallView类中创建画笔,然后重写OnDraw(...
    99+
    2024-04-02
  • Android开发之自定义控件用法详解
    本文实例讲述了Android开发之自定义控件用法。分享给大家供大家参考,具体如下: 今天和大家分享下组合控件的使用。很多时候android自定义控件并不能满足需求,如何做呢?很...
    99+
    2022-06-06
    自定义 自定义控件 android开发 Android
  • Android 深入探究自定义view之事件的分发机制与处理详解
    目录题引Activity对事件的分发过程父布局拦截的分发处理过程ACTION_DOWN 事件ACTION_MOVE 事件父布局不拦截时的分发处理过程ACTION_DOWNACTION...
    99+
    2024-04-02
  • Vue组件中的自定义事件源码分析
    这篇文章主要介绍“Vue组件中的自定义事件源码分析”,在日常操作中,相信很多人在Vue组件中的自定义事件源码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue组件中的自定义事件源码分析”的疑惑有所帮助!...
    99+
    2023-06-29
  • Vue中怎么自定义事件
    本篇文章给大家分享的是有关Vue中怎么自定义事件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。事件绑定每个 Vue 实例都实现了事件接口 (E...
    99+
    2024-04-02
  • 如何理解Vue中组件的自定义事件
    本篇文章为大家展示了如何理解Vue中组件的自定义事件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。<template>  <div > ...
    99+
    2023-06-25
  • vue如何自定义事件传参
    目录自定义事件传参先来简单看个例子自定义事件的$event传参问题原生vue里的$event自定义事件里的$event自定义事件传参 先来简单看个例子 TodoList.vue : ...
    99+
    2024-04-02
  • vue怎么自定义事件传参
    这篇“vue怎么自定义事件传参”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么自定义事件传参”文章吧。自定义事件传参...
    99+
    2023-06-30
  • C#为控件添加自定义事件及自定义触发
    先随便搞个事件吧 public class TestEventrgs : EventArgs { private string _name; ...
    99+
    2024-04-02
  • python自定义查找文件内容
    #!/usr/bin/env python#coding:utf8#此脚本为查找递归目录下所有文件匹配的内容import os,sys,tabdef paths(path):        list_path=os.walk(path)  ...
    99+
    2023-01-31
    自定义 文件 内容
  • Vue自定义指令详解
    目录Vue自定义指令自定义指令钩子函数输出相关属性运用例子总结Vue自定义指令 自定义指令 注册一个全局指令v-focus,该指令的功能是在页面加载时元素获得焦点 <!DO...
    99+
    2024-04-02
  • JavaScript加强之自定义event事件
    复制代码 代码如下: $().ready(function(){ for(var i=0;i<5;i++){ // $("#aa").click(function(){ //...
    99+
    2022-11-15
    event事件
  • Vue自定义树形控件使用详解
    本文实例为大家分享了Vue自定义树形控件的使用方法,供大家参考,具体内容如下 效果图: 数据结构: tree: { title: '', // 标题(姓名) ...
    99+
    2024-04-02
  • vue自定义开关组件使用详解
    本文实例为大家分享了vue自定义开关组件的具体代码,供大家参考,具体内容如下 switch.vue: <template>   <div class="disLB"...
    99+
    2024-04-02
  • Vue自定义组件v-model使用详解
    目录Vue2中使用Vue3中使用v-model 使用 modelValue自定义 v-model 的使用的参数多个 v-model 绑定自定义v-model 的修饰符Vue2中使用 ...
    99+
    2024-04-02
  • Vue组件中的自定义事件你了解多少
    主要介绍组件的自定义事件的概念,使用等。 何为组件自定义事件: 组件自定义事件是一种组件间的通信方式,方向是 子组件====>父组件。使用场景:A是子组件,B是父组件,如果要把...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作