在阅读Vue 3的composition api documentation版本时,我不太明白新的合成API是如何工作的.你能解释一下data()函数go 了哪里,如果它不再被使用,用什么代替它吗?

Updated 23.10.2021:链接中的文档已经更新和扩展,在Composition API简介中提到了data(),所以这个问题现在被弃用.

推荐答案

在新的Composition API下,您之前在data()中定义的所有变量都是从setup()函数返回的,作为带有react 值的普通变量.例如,Vue 2.0组件的数据功能如下:

data() {
  return {
    foo: 1,
    bar: { name: "hi" }
  }
}

成为Vue 3中的setup()函数:

setup() {
  const foo = ref(1);
  const bar = reactive({ name: "hi" });

  return { foo, bar }
}

ref辅助对象为react 性包裹非对象值,reactive包裹对象.这比旧的方式更清楚地揭示了Vue的基本原理,在旧的方式中,包装"神奇地"发生在幕后,但在其他情况下会表现相同.我个人喜欢的是,你的setup()函数可以在移动中构建你的对象,同时将相关的东西放在一起,让它讲述一个连贯的故事,而不需要跳到不同的部分.

Vue.js相关问答推荐

如何用其他组件编译Vue模板?

如何将$validator实例注入到使用组合API语法的Vue2.7应用程序中

Vuetify 2中自定义标头的排序和筛选

vue 不重新渲染数据更改

如何在 vue2.7 中删除 slot-scope

将媒体源/流绑定到视频元素 - Vue 3 组合 API

Vue3如何将自定义事件绑定到路由视图中的特定组件?

如何使用 Vue 命名插槽呈现静态内容列表?

即使响应为 200,也会调用 Axios Catch

动态插入字符串上的 Vue 事件处理程序不起作用

Vue.js 中的 mount挂载是什么意思?

VueJS:向左,元素的顶部位置?

当前端和后端位于虚拟 docker 网络中时,如何使用 axios 寻址后端主机

React.js 是否有类似 Vue.js

Vue @click 不适用于存在 href 的anchor锚标记

Proxy代理在 Vue 3 的控制台中是什么意思?

即使在生产模式下构建,VueJS 也会显示开发模式开发模式消息

Bootstrap-vue:如何将数据传递给模态?

Vuetify RTL 风格

返回 VueJS 方法的Native Code消息