还有人在 setup 里面获取 vue2 的 data 么?

bug51 · 2024-7-17 17:15:25 · 47 次点击
今天看到一个后端同事提交的代码。在 setup 里面获取“vue2 的 data 选项”,然后拿这个 data 数据作为“请求参数”,在 setup 里面使用这个 data 数据来请求。

说来也是很奇怪,vue 文档有一部分没解释清楚的,这就是第二个问题:setup 在生命周期排在 created 前面,为啥可以在 setup 里面直接拿 setup 数据去请求?

个人理解就是 setup 里面可以创建一批(在 setup 里面声明的)响应式数据 data 。“vue2 的 data”可以再创建另外一批响应式数据 data ,时机在 setup 后的且在 beforeCreate 后的。一共两批 data ,都创建在 created 之前。

解释回第二个问题,“setup 在生命周期排在 created 前面,为啥可以在 setup 里面直接拿 setup 数据去请求”,就是因为 setup 里面创建一批自己的响应式数据 data ,比“vue2 的 data”早创建。所以,“vue2 的 data”还没创建,不太建议拿到 setup 中去作为“请求参数”来请求,也就是解释开始的问题。

以上纯属个人的猜想,拿生命周期打印了一下还是有点懵。。。
举报· 47 次点击
登录 注册 站外分享
2 条回复  
lDqe4OE6iOEUQNM7 小成 2024-7-17 17:28:08
因为在 setup 调用时候,Vue 2 的 data 还未初始化。
revalue 小成 2024-7-17 18:01:59
setep 创建的响应式是`setupState`吧,所以比 beforeCreate 早,比 vue2 的 data 早,比 created 早
返回顶部