[前端]关于使用 Vue 的一个小问题

2018-04-09 18:55:36 +08:00
 dixeran
例如有一个很多条目的列表,每个列表都可以选择是否展开详情,使用“ Vue ”的方法是不是意味着要对每个列表项的数据里增加一个类似于 "showdDetail : false/true" 这样的属性?
可是"showDetail"这种属性本身就很“视图层”,按理说不应该跟数据混在一起吧。对于这样的情况怎样设计比较合理呢?
1870 次点击
所在节点    问与答
9 条回复
zjwshisb
2018-04-09 19:07:55 +08:00
本来就是数据驱动视图呀。。很视图层有什么问题吗?
dixeran
2018-04-09 19:33:25 +08:00
@zjwshisb 那样跟后端交换数据的时候就很不方便诶。
zjwshisb
2018-04-09 19:42:54 +08:00
@dixeran 提交的时候过滤一下就好了
crysislinux
2018-04-09 19:44:46 +08:00
你也可以搞个 showDetails: { [id]: boolean }, 这样就跟你的数据分开了
johnniang
2018-04-09 19:45:13 +08:00
@zjwshisb 循环的每一个数据都添加一个属性就搞定了
viko16
2018-04-09 20:02:59 +08:00
客户端要有意识地维护一个数据模型。
服务端数据只是其中一个数据源…
dixeran
2018-04-09 20:15:48 +08:00
@zjwshisb
@crysislinux
@johnniang
@viko16
受教了,谢谢
grewer
2018-04-09 21:30:14 +08:00
新建一个组件,添加参数 showdDetail : false/true ,父组件导入后台传递的数据即可
dixeran
2018-04-10 12:25:14 +08:00
@grewer 这个不错,谢谢:)

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

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

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

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

© 2021 V2EX