vue3.0父级组件调用子组件方法

vue3.0父级组件调用子组件方法

场景:在页面开发过程中,我经常涉及到不同组件之间的元素和方法的调用。就此记录在vue3.0项目,也是我开发的开源项目中的实现方式。

父级组件调用子级

1.应用场景

以下以我的代码实现为例:在左侧菜单中,通过点击新建会话,在会话列表中新建一个会话框。

其中:会话列表页面是菜单的子级组件。

2.添加组件引用

代码如下:

vue 复制代码
import List from './List.vue'

3.页面嵌入

代码:

vue 复制代码
<div class="flex-1 min-h-0 pb-4 overflow-hidden">
    <List ref="ListComp" />
</div>

这里,在 <List> 元素中使用 ref 属性,表示引用一个名为 "ListComp" 的组件或对象

4.使用list中方法(核心)

代码如下

typescript 复制代码
const ListComp = ref<null | any>(null) // 将类型设置为允许为 null

const addConversation = () => {
  ListComp!.value.addConversation('New Chat') // 使用非空断言操作符
}

在父节点调用addConversation方法时,调用ListComp组件的addConversation方法,创建一条为New Chat 的会话。

阅读如遇样式问题,请前往个人博客浏览: https://www.raokun.top

拥抱ChatGPT:https://first.terramours.site

文中代码来自开源项目,地址:https://github.com/TerraMours/TerraMours_Gpt_Api

参考链接:https://www.cnblogs.com/ddqyc/p/16023292.html

相关推荐
汤米粥2 天前
2026年主流前端技术框架
vue·react·elementplus·tailwind css·angular‌·svelte‌·bootstrap‌
codigger3 天前
Vue nextTick 到底在等什么?一篇讲透原理与那些年踩过的坑
程序员·vue·编程·异步更新·#人工智能
咚咚咚小柒3 天前
【前端】LangChain.js学习
前端·javascript·人工智能·typescript·langchain·vue·ai编程
悟道书生5 天前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
mewowaBc5 天前
使用Pinia持久化存储实现用户认证系统
vue·pinia·用户认证系统
gc_22996 天前
使用VS Code终端创建Vue项目报错:“npm : 无法加载文件 ...\npm.ps1,因为在此系统上禁止运行脚本”
vue·vs code
小阿鑫6 天前
尤雨溪 : Vue 4 已经在规划中了!
vue·vite·vite+·程序员海军·vue4
离歌漠7 天前
《我用 Tauri 做了一个本地开发工具箱》
rust·typescript·vue
enjoy编程8 天前
playwright学习-I
typescript·vue·nodejs·1024程序员节·playwright
落花看风雪10 天前
从零开始搭建后台系统(vue3+TypeScript+Vite)01
typescript·vue·js