Vue 如何优雅地获取子组件的数据?

2019-12-03 17:54:17 +08:00
 midknight

目前在写某后台管理系统项目中的表格组件。该组件会根据传入的对象类型向后台请求对应对象的列表并进行渲染。问题是,当这个组件的父组件需要获取它的对象列表时,直接如下面这样获取:

var objs = this.$refs.objTable.objs

是否足够合适(优雅)? 目前还没考虑用 vuex,感觉项目规模不大。

1634 次点击
所在节点    问与答
6 条回复
Jarvis0
2019-12-03 18:28:25 +08:00
项目规模不大,不用过度追求优雅了,这样就 OK
Jarvis0
2019-12-03 18:29:56 +08:00
当然可以通过获取数据成功后,`&emit`一个事件把数据传到父组件管理
hoyixi
2019-12-03 18:43:23 +08:00
数据应该由父组件传递给子组件,或者集中管理( Vuex )。否则各个子组件胡乱维护数据,很快乱套
fhw12372
2019-12-04 09:41:35 +08:00
2l 正解,应该也是官方推荐用法
Newyorkcity
2019-12-04 10:26:47 +08:00
midknight
2019-12-04 10:44:41 +08:00
@fhw12372 想了想有道理,子组件获取是网络请求,的确应该以事件形式异步传递。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/625602

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX