Vue_自定义事件2

Vue2(15) 自定义事件学习笔记 在Vue2中,自定义事件是组件间通信的一种重要方式。通过自定义事件,子组件可以向父组件发送消息,从而实现数据的流动和组件的交互。本文将基于Vue2官方文档,详细阐述Vue2中自定义事件的定义、使用及其相关特性,并提供示例代码。事件名的命名规范不同于组件和prop,事件名不存在自动化的大小写转换。因此,触发的事件名需要完全匹配监听这个事件所用的名称。 阅读详情

事件监听绑定、触发的另一种形式$on(eventName,data)

App.vue组件

<template>
  <div class="todo-container">
    <div class="todo-wrap">
      <!--<TodoHeader @addTodo="addTodo"/>-->
      <TodoHeader ref="header"/>
      <TodoList :todos="todos"/>
      <TodoFooter :todos="todos" :deleteCompleteTodos="deleteCompleteTodos" :selectAll="selectAll"/>
    </div>
  </div>
</template>

<script>
  import PubSub from 'pubsub-js'
  import TodoHeader from './components/TodoHeader.vue'
  import TodoList from './components/TodoList.vue'
  import TodoFooter from './components/TodoFooter.vue'
  import storageUtils from './utils/storageUtils'

  export default {
    data () {
      return {
        // todos: JSON.parse(localStorage.getItem('todos_key') || '[]')  // 读取localStorage保存的数据
        todos: storageUtils.readTodos()
      }
    },


    mounted () {    //执行异步代码
      // 给<TodoHeader/>绑定自定义事件(addTodo)监听
      // this.$on('addTodo',  this.addTodo) 绑定监听的目标不对,这里的this是App组件,而addTodo绑定在TodoHeader上,需要TodoHeader去触发

      this.$refs.header.$on('addTodo',  this.addTodo)
      // 订阅消息(deleteTodo)
      PubSub.subscribe('deleteTodo', (msg, index) => {
        this.deleteTodo(index)
      })
    },

    methods: {
      addTodo (todo) {
        this.todos.unshift(todo)
      },

      deleteTodo (index) {
        this.todos.splice(index, 1)
      },

      // 删除所有已完成的
      deleteCompleteTodos () {
        this.todos = this.todos.filter(todo => !todo.complete)
      },

      // 全选/全不选
      selectAll (isSelectAll) {
        this.todos.forEach(todo => {
          todo.complete = isSelectAll
        })
      }
    },

    watch: {
      todos: {
        deep: true, // 深度监视
        /*handler: function (val) {
          // 将数据(json)保存到localStorage
          // localStorage.setItem('todos_key', JSON.stringify(val))
          storageUtils.saveTodos(val)
        }*/
        // handler的值应该是一个函数, 且函数应该要有一个形参(接收todos最新的值)
        handler: storageUtils.saveTodos,
        /*handler: function  (todos) {
          localStorage.setItem(TODOS_KEY, JSON.stringify(todos))
        }*/
      }
    },

    components: {
      TodoHeader,
      TodoList,
      TodoFooter
    }
  }
</script>

<style>
</style>

 

vue2自定义事件实现子组件向父组件通信 阅读详情

相关推荐

Vscode+ROS/ROS2 开发调试基于ROS/ROS2应用环境配置

在ROS操作系统开发应用程序时,我们常常需要调试代码,验证程序的正确性。但是在用rosrun或者roslaunch启动节点后,若程序运行过程中发生错误而导致发生出错停止工作,这时候终端并不会输出具体的信息指出在何处发生了错误,具体错误的原因又是什么。往往仅仅是core dump 或者segmentation fault 等等一类的模糊提示。

Chasinglight的博客 5800

vue2x组件自定义事件

组件自定义事件 一种组件通信方式,适用于:子组件===>父组件 使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B绑定自定义事件(事件的回调在A中) 绑定自定义事件 第一种方式,在父组件中:<Demo @hello = “test”>或者 第二中方式,在父组件中: <Demoe ref = "demo"> mounted(){ this.$refs.demo.$on("hello",this.test) } 若想让自定义事件只触发一

weixin_45802907的博客 342

D触发器版图设计的艺术:最小化面积与最大化性能的平衡之道

本文探讨了D触发器版图设计中如何平衡最小化面积与最大化性能的核心挑战。通过分析晶体管布局、互联优化、时钟分布等关键策略,结合先进制程下的功耗与信号完整性考量,为数字IC工程师提供了从基础优化到制造验证的实用解决方案,助力实现高性能、低面积的芯片设计。

aa123的博客 910

vue-组件间通信

组件间通信基本原则 1.不要在子组件中直接修改父组件的状态数据 2.数据在哪,更新数据的行为(函数)就定义在哪 main.js import Vue from 'vue' import App from './App.vue' import './base.css' // 创建vm /* eslint-disable no-new */ new Vue({ el: '#app', co...

qq_17503037的博客 286

Megatron-LM深度解析:万亿参数大模型的3D并行训练之道

训练框架,采用创新的"层内模型并行"设计,通过将Transformer层的计算拆分到多个GPU上并行执行,显著提升训练效率。该系统支持3D并行策略(数据并行、张量并行、流水线并行)和序列并行等新技术,成功应用于训练5300亿参数的MT-NLG模型。相比DeepSpeed、TPU GSPMD等框架,Megatron-LM在NVIDIA GPU上展现出卓越性能,并与TensorRT等工具深度集成,形成从训练到部署的完整解决方案。该项目持续演进,已成为大模型训练的重要基准。

数据与算法架构提升之路专栏 2091

YOLOv8 Neck改进:BiFPN双向特征金字塔网络解析与实践

本文详细介绍了如何在YOLOv8中集成BiFPN双向特征金字塔网络,包括原理解析、代码实现、配置文件修改和性能分析。BiFPN通过双向特征融合和加权特征机制,显著提升了多尺度目标检测的性能。希望通过本文的讲解,大家能够深入理解BiFPN的工作原理,并成功将其应用到自己的目标检测项目中。如果你有任何问题或建议,欢迎在评论区留言讨论!在下一篇文章中,我们将探讨YOLOv8的其他改进技术,包括注意力机制、新的损失函数等,敬请期待!

QQ_778132974的博客 991

vue2.x 组件-自定义事件

vue2.x 组件-自定义事件

monian187的博客 1192

Vue3 - 详解实现网站接入微信扫码登录功能,微信授权生成登录二维码用户用手机扫描二维码登陆,微信扫描二维码登录详细流程及示例代码,支持弹框式、浏览器单独新开页显示,最新vue集成微信扫码授权登录!

vue3,nuxt3,PC网站,网页,微信扫码登录,微信登陆,vue3微信扫码登录,获取个人信息,扫码登录后如何获取用户手机号,微信扫码授权登录,vue3详细实现微信扫一扫登陆,pc网页微信登录,vue3集成微信扫码登录,详细流程和示例源码,第三方扫码登录,vue3微信扫码登录怎么新开一页,跳页显示二维码,内嵌登录二维码,iframe,iframe新页面弹出,弹出一个小窗口显示登录二维码,登录报错,微信扫码没反应,解决手机点登录报错没反应,官方文档,手机扫描微信二维码登录网站,最好用的插件,vue-wxlo

🏆 前端领域优质创作者 1万+

Vue2&3组件自定义事件 和 解绑事件

功能:父组件绑定数据,子组件触发事件。(父绑子触发)

weixin_47957908的博客 1282

OpenHarness代码解读

Harness 是包裹在大模型之外、为其赋予完整执行能力的全套基础设施。模型负责提供智能与推理,Harness 则为模型提供感知、行动、记忆、工具与安全约束,使其从语言模型变成可自主完成复杂任务的实用智能体。我这里把向量数据库方案定义为:把对话片段、事件、偏好、工具结果等切成 memory chunks,做 embedding,存进向量库,查询时靠 ANN 相似度召回,再交给 LLM 读。AAAI 的综述类论文就明确指出,很多 LLM agent 的长期记忆就是这么做的。AAAI 期刊把文件系统方案。

qq_52053775的博客 188

Trimble RealWorks处理点云数据(一)之坐标转换

Trimble RealWorks处理点云数据之坐标转换

yilvyangguang520的博客 3622

Vue2 与 Vue3 自定义事件实现对比

Vue2与Vue3自定义事件实现对比摘要:Vue2通过$emit触发事件,父组件使用@监听;Vue3引入defineEmits()和emits选项显式声明事件,支持TypeScript类型检查。主要差异:Vue3支持多v-model、移除.sync修饰符、提供事件验证,组合式API更灵活。迁移时需注意移除$listeners、native修饰符,改用v-model:propName替代.sync。Vue3事件系统更明确、类型安全,推荐使用defineEmits()声明事件。

木木的学习笔记 400

Diffusion models代码实战:从零搭建自己的扩散模型

这个系列曾经写过三篇文章专门讲代码,分别从数据集、超参数、loss设计、参数计算、Unet结构、正向过程、逆向过程等部分详细介绍了如何搭建DDPM。Diffusion models领域发展神速,最近半年代表作品有OpenAI的GLIDE、DALL-E 2,Google Brain的ImageGen,海森堡大学的Latent Diffusion。这篇博客针对入门新手讲解一下如何利用已有的资源快速搭建自己的Diffusion models。.........

沉迷单车的追风少年 1万+

Vue2 组件自定义事件

Vue2 组件自定义事件是子组件给父组件传数据的一种方式。

dlmyrt的博客 493

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【笔记】vue3.2 组件自定义事件

在vue3.x中,组件自定义时间是通过上下文context来调取得,而这个context也是在setup(props, context)中,那vue3.2在把setup写到<script>标签后,该如何使用呢? 在vue3.2中,提供了defineEmits语法糖,可以用来定义事件的名字,废话不多说,上例子。 <!-- 子组件 child.vue --> <script setup> const emit = defineEmits(['custom-event']).

咫尺天涯的专栏 1989

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

vue2 以及 vue3 自定义组件使用 v-model使用默认值以及自定义事件

vue2 以及 vue3 自定义组件使用 v-model使用默认值以及自定义事件

weixin_45563734的博客 2725

vue2[初级] 自定义事件实现父子组件交互

vue 自定义事件实现父子组件交互 $emit,mounted,$refs $on

u011664286的博客 374

vue2升级vue3:Vue3时jsx组件绑定自定义的事件、v-model、sync修

踩坑笔记:组合式 API之Setup(props,context)—Vue2 x到Vue3注意Vue2的 sync修饰符转Vue3中v-model可以先看vue2的 sync 修饰符 文档:

周陆军的博客,分享it技术。 4107

vue2技能树(9)-prop属性,自定义事件

自定义事件是Vue.js 2中的一个关键概念,它允许你在组件之间进行通信,使得父组件和子组件能够互相传递数据和触发行为。以下是对Vue 2中自定义事件的多方面详细介绍,包括使用详细的项目示例。在Vue组件中,你可以使用$emit方法来触发自定义事件,并在父组件中通过v-on来监听和处理这些事件。除了直接使用字符串作为事件名,你还可以使用命名自定义事件来更好地组织和管理事件。

张羽的博客 1468

Vue2(九):浏览器本地存储、组件自定义事件、TodoList自定义事件

1、一种组件间通信的方式,适用于:子组件 ===> 父组件2、使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B的标签绑定自定义事件(事件的回调在A中,用来接收数据)。3、绑定自定义事件:(1) 第一种方式,在父组件中: 或 < Demo v-on: atguigu = " test " />="

weixin_42044763的博客 1367

Vue2进阶篇-scoped样式、组件自定义事件

该文章介绍了scoped样式、以及组件自定义事件的使用方式。

大脑不能为空 711

vue2的用自定义事件实现组件通信

List,Input},data() {return {},<ul></ul>

weiwei_zhang2020的博客 271

Vue2组件间通信---子传父值自定义事件

Vue2组件间通信—子传父值自定义事件 Vue2中组件间通信系列,本篇是关于子组件向父组件传值的介绍,这里我会用通俗的语言帮助大家理解自定义事件 功能: 父组件可以接受到子组件传递的数据,适用于组件间通信。 原理: 子组件要给父组件传递数据,此时要在父组件中给子组件绑定一个自定义事件,回调写在父组件中。那么触发这个自定义事件的就是子组件,传递的参数就是子组件要给父组件传递的数据。 绑定自定义事件的两种方式: 第一种方式: 父组件: <template> <div>

qq_53848768的博客 4742

Vue2——组件的自定义事件

我们也可以定义组件的自定义事件,这样定义出来的事件是给组件用的。父组件定义自定义事件和触发的函数

mantou_riji的博客 4432

【Vue2.0】— 组件的自定义事件(十八)

【Vue2.0】— 组件的自定义事件(十八) <template> <div > <h2>{{msg}}</h2> <!-- 通过父组件给子组件传递函数类型的数据props实现:子给父传递数据 --> <School :getName="getName"/> <Student :getStudentname="getStudentname"/> <!-- 通过父组件给子组件绑定一个自定义事件:实

道阻且长,行则将至。 535
上一篇: Vue_自定义事件1
下一篇: Vue_组件化编码,组件间通信1,通过标签传递数据
明明在学JAVA
博客等级 码龄17年 58粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值