惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
V
Visual Studio Blog
博客园 - 司徒正美
TaoSecurity Blog
TaoSecurity Blog
博客园 - 聂微东
IT之家
IT之家
博客园_首页
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园 - Franky
雷峰网
雷峰网
罗磊的独立博客
S
Schneier on Security
C
Cybersecurity and Infrastructure Security Agency CISA
The Cloudflare Blog
T
Tailwind CSS Blog
B
Blog RSS Feed
H
Help Net Security
T
The Blog of Author Tim Ferriss
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
C
CERT Recently Published Vulnerability Notes
博客园 - 三生石上(FineUI控件)
P
Palo Alto Networks Blog
I
Intezer
G
GRAHAM CLULEY
Engineering at Meta
Engineering at Meta
S
Securelist
J
Java Code Geeks
V
V2EX
Y
Y Combinator Blog
Simon Willison's Weblog
Simon Willison's Weblog
L
LINUX DO - 热门话题
云风的 BLOG
云风的 BLOG
Spread Privacy
Spread Privacy
MongoDB | Blog
MongoDB | Blog
P
Privacy International News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
B
Blog
Forbes - Security
Forbes - Security
Google Online Security Blog
Google Online Security Blog
Help Net Security
Help Net Security
S
SegmentFault 最新的问题
N
Netflix TechBlog - Medium
Webroot Blog
Webroot Blog
Microsoft Security Blog
Microsoft Security Blog
SecWiki News
SecWiki News
Scott Helme
Scott Helme
aimingoo的专栏
aimingoo的专栏
N
News and Events Feed by Topic

Vue.js

AI 特效 shadcn-vue-admin 已升级至 vite8 - V2EX 我真的要放弃 Vue,改用 React 了 - V2EX 请问 vue3 的 onclick 和 @click 有什么区别 - V2EX 求推荐美观、功能全的 vue AI chat 组件 - V2EX [求助贴] 有没有推荐的 vue3 页面设计器 大屏设计器(源码可以拿来二开的 开源 or 收费) - V2EX 有没有大佬在正式项目里使用 rolldown 了 - V2EX 用 reactive 來實現 oo 對象的封裝 - V2EX Vue 的 reactive 会有人专门用吗? - V2EX 大佬们,想在 vue 中集成一个 excel,有什么方案? - V2EX vue3 无法手动控制 keepalive 的缓存| fork 了独立的 keep-alive 组件|支持手动删除缓存或者添加缓存 - V2EX WebStorm 写 个 v-for, cpu 就狂飙 - V2EX Nuxt UI 4 可以免费用 Pro 了 - V2EX Vue2 除了 ele-table-editor,还有没有其他“子表单(inline-formset)”的组件? - V2EX 请问 vue 的 defineEmits 类型如何使用动态键名 - V2EX VUE 开发求助 - V2EX 屎代码靠我自己骂已经不解气了,佬们来看个笑话 - V2EX 我的 mp4 播放不出来! - V2EX 有一个 8K 行的 VUE 代码文件用什么 AI 可以解耦 - V2EX 求助 Vue 大佬,为什么使用 reactive 数据没有双向绑定? - V2EX uniapp 求助 - V2EX Vue3 编写的最佳实践是怎样的? - V2EX 开发一款轻便简洁的论坛程序 - V2EX VueConf 2025 所有演讲嘉宾及日程已确定, 7 月 12 日,深圳见! - V2EX vue3+ELInput 无法输入的问题 - V2EX 想问一下 pinia 持久化到 localStorage 如何实现有效期 - V2EX 有什么适用于 Vue/Nuxt 的表单/问卷/试卷+设计器库么 - V2EX vue_cli 用到 env 环境变量值特殊字符处理 - V2EX 统计基于 vue 的汽水音乐电脑版用了哪些开源组件 - V2EX ant-design-vue 好像不怎么维护了, vue 有什么比较靠谱的 ui 组件库吗 - V2EX 关于二次封装 element-plus 组件库主题问题 - V2EX 🎉 VueConf 2025 来啦, 7 月 12 日,深圳见! - V2EX vue 怎么 5 个月不更新了 - V2EX 前端 props 单向数据流 vs 状态管理流 你更能接受哪种代码 - V2EX WSL2 + System Proxy 后, vite 启动的项目,随机一部分网络请求变得巨慢,求指导。 - V2EX vue vite 打包 白屏问题 - V2EX 外行搞前端构建环境真的很头疼,有谁能帮忙搞定这个 Nuxt3 开源项目的构建?有偿。 - V2EX vue 指令更新问题 - V2EX 为什么 vue 的 nuxt.js 不跟进 nextjs 的 app route 目录结构 - V2EX 使用 Ant design X vue 组件库怎么解决无法正确展示 MarkDown 格式字符串的问题? - V2EX shadcn, shadcnvue 全是基于 tailwindcss 的,没有基于 unocss 的嘛? - V2EX vue3 的 template typescript 支持稀烂,退坑 - V2EX 组件持久化的问题请教 - V2EX 话说我怎么就懵逼了呢? Vue3 的泛型组件 generic="T"? - V2EX 请教 Vue3 + typescript 最佳实践问题 - V2EX vue3 纯前端如何生成 icns 格式图片? - V2EX 你们写 vue 一定是按照 vue 的脚手架的目录结构来写吗? - V2EX 大佬们, vue3 新人求教,就没有办法对 ref 包装的 obj 进行解构吗 - V2EX vue3 中 v-show 分页问题 - V2EX el-table 使用 expand 展开倒数第二行时,最下面一行会错乱,我把第一列的数据进行了合并,求问大家怎么解决呀?
Vue3 tsx 应该用 props 还是 emit 传递事件? - V2EX
chenliangngng · 2025-03-03 · via Vue.js

这是一个创建于 469 天前的主题,其中的信息可能已经有所发展或是发生改变。

本人之前由于长期写 react ,更倾向于 props 模式也就是直接把 onChange 作为参数,但平时还是老老实实遇到事件函数就用 emit 传递

最近 ai 告诉我 props 不是最佳实践,emit 是最佳实践,可我用 cursor 给我生成的代码清一色都是 props 模式,给我整不会了

其实我感觉用 Vue3 tsx 的话,什么 v-model 和 emit 这些都没必要了,和 react 一样 props 到底就好了

ByteRan

2

ByteRan      2025 年 3 月 3 日

vue2 vue3 都是 emit

zzh2036

3

zzh2036      2025 年 3 月 3 日

vue3 文档,只是推荐使用。
“尽管事件声明是可选的,我们还是推荐你完整地声明所有要触发的事件,以此在代码中作为文档记录组件的用法。同时,事件声明能让 Vue 更好地将事件和透传 attribute 作出区分,从而避免一些由第三方代码触发的自定义 DOM 事件所导致的边界情况。”

paopjian

4

paopjian      2025 年 3 月 3 日

为的不是单向数据流么, 一切变动都有缘由

chairuosen

5

chairuosen      2025 年 3 月 3 日

props 优点是 async 一下可以知道异步执行结束再继续,缺点是需要判断回调存在

jeepc

6

jeepc      2025 年 3 月 3 日   ❤️ 1

直接用 vue3.4 的双向绑定特性吧

wangtian2020

7

wangtian2020      2025 年 3 月 3 日

父调用子 子 expose 一个方法,比如 openDialog 父直接 ref 用子引用调用方法,一次性传参不要用 props !
子传父 emit

charlie21

8

charlie21      2025 年 3 月 3 日

传递事件用 emit

如果想传递 event handler, 用 props

```
// 父组件
<group-form :on-submit="saveGroup" />

function saveGroup (groupDetails: { name: string | null, users: Record<string, string[]> }, createNew: boolean = false) {
}
```
```
// 子组件
import { type PropType } from 'vue'

export default defineComponent({
props: {
onSubmit: {
type: Function as PropType<(groupDetails: { name: string | null, users: Record<string, string[]> }, createNew: boolean) => void>,
required: true
},
},
setup () { ... }
})

```

Zzzz77

9

Zzzz77      2025 年 3 月 3 日

看中代码质量,追求代码可维护性和可读性的话,更应该用 emit

但是话又说回来,如果是大面积直接用 AI 生成代码了,也就无所谓用什么/怎么用了,最后结局都是 AI 维护,能跑就行。

gotOwt

11

gotOwt      2025 年 3 月 3 日

1 、props (父传子, 一般是变量)
2 、emit (子传父, 事件)
3 、defineModel (在组件上绑定 v-model, 这个很好用)

wu67

12

wu67      2025 年 3 月 3 日

讲真, 个人认为子组件的数据, 子组件自己逻辑处理然后 emit 传递出来才是正解, 父组件传个方法进去简直就像邪道....
实在不行, 像楼上那种拿 ref 调子组件方法也不是不能用

Melting

13

Melting      2025 年 3 月 3 日

我问 AI 也是说 props 毕竟符合单项数据流,而且可以 props 类型检测也比较清晰,不过 emit 是 vue 双向数据的特色,习惯了感觉也好用,传 function 来获取子组件的值总感觉怪怪的

abc1310054026

14

abc1310054026      2025 年 3 月 3 日

这我之前写组件的时候碰到过,其实 emit 和 props 是有区别的。

1. emit 更类似 DOM 的 dispatchEvent 机制,只管派发事件。如果你关心事件的返回值 emit 是无法获取返回值的。
2. props 传入的是函数对象,触发事件实际就是调用函数,这种情况下可以拿到函数返回值。

gouflv

15

gouflv      2025 年 3 月 3 日 via iPhone

emit 可以在 devtool 看到日志,props 不行。

FlashEcho

16

FlashEcho      2025 年 3 月 3 日

props 父传子,emit 子传父,vue 相对 react 来说,组件通信方式太多了,不像 react 很强调单项数据流,我感觉都行

leokun

17

leokun      2025 年 3 月 4 日

用 emit ,理由是 emit.update:state + props.state 支持 v-model ,并且 defineModel 宏也是这样做的(官方已经教你了)
props 中传函数只会传一些钩子函数,例如数据过滤,数据排序的函数