vue 自定义事件和子组件方法调用

举例说明了vue开发中,一个子组件需要响应另一个子组件事件的方法。

1自定义事件

  • 显示声明事件
//.vue
<script setup>
	defineEmits(['search', 'cancel'])
</script>
  • 使用方法1:在js代码中
function buttonClick() {
  emit('search')
}
  • 使用方法2:在html中
<el-button @click="$emit('search')">应用</el-button>

2调用子组件中的方法

<script setup>标签中的变量和方法默认是私有属性
访问子组件的方法为:

  • 子组件声明对外接口
//子组件
<script setup>
function search() {
  console.log('search')
}

function clearSearch() {

}

defineExpose({
  search,
  clearSearch
})
</script>
  • 父组件通过appref调用子组件方法
//父组件.vue
<template>
  <Filter id="filter" @search="search"></Filter>
  <App class="content" id="app" ref="appref"></App>
</template>

<script setup lang="tsx">
import { ref } from "vue";
import App from "../app/App.vue";
const appref = ref()

function search(val: object) {
  appref.value.search()
}
</script>

相关推荐

  1. vue 定义事件组件方法调用

    2024-05-13 20:54:02       30 阅读
  2. vue组件调用组件方法

    2024-05-13 20:54:02       51 阅读
  3. Vue.js 中父组件调用组件方法

    2024-05-13 20:54:02       49 阅读
  4. Vue3+Ant Design 父组件调用组件方法

    2024-05-13 20:54:02       32 阅读
  5. vue3父组件调用组件方法

    2024-05-13 20:54:02       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-13 20:54:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-13 20:54:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-13 20:54:02       82 阅读
  4. Python语言-面向对象

    2024-05-13 20:54:02       91 阅读

热门阅读

  1. 处理Git将本地大文件上传到公共区域失败

    2024-05-13 20:54:02       36 阅读
  2. 通过实例学C#之Stack类

    2024-05-13 20:54:02       32 阅读
  3. SQLZOO:Self join

    2024-05-13 20:54:02       36 阅读
  4. MySQL sql_mode引发的异常

    2024-05-13 20:54:02       34 阅读
  5. SQLZOO:Using Null

    2024-05-13 20:54:02       40 阅读
  6. Redis面试高频问题

    2024-05-13 20:54:02       33 阅读
  7. 【编程向导】Docker-常用命令

    2024-05-13 20:54:02       37 阅读
  8. OSINT技术情报精选·2024年5月第1周

    2024-05-13 20:54:02       26 阅读
  9. 二分查找GO语言实现

    2024-05-13 20:54:02       36 阅读
  10. MYSQL DBA运维实战

    2024-05-13 20:54:02       29 阅读
  11. js设计模式--发布订阅者模式

    2024-05-13 20:54:02       40 阅读