javascript - Vue 3 组合 API 数据()函数

标签 javascript vue.js vue-component vuejs3 vue-composition-api

阅读composition api documentation对于 Vue 3,我不太了解新的 Composition API 是如何工作的。你能解释一下在哪里data()功能已经消失,如果不再使用,应该改用什么?
2021 年 10 月 23 日更新:链接中的文档已更新和扩展,包括在 Composition API 介绍中提及 data() ,因此现在不推荐使用此问题。

最佳答案

在新的 Composition API 下,您之前在 data() 中定义的所有变量刚从您的 setup() 返回用作具有反应值的正常变量。例如,具有如下数据函数的 Vue 2.0 组件:

data() {
  return {
    foo: 1,
    bar: { name: "hi" }
  }
}
变成这个 setup() Vue 3 中的函数:
setup() {
  const foo = ref(1);
  const bar = reactive({ name: "hi" });

  return { foo, bar }
}
ref helper 为 react 性包装了一个非对象值,reactive包裹一个对象。这比旧方式更清楚地揭示了 Vue 的基本原理,旧方式在幕后“神奇地”发生了包装,但在其他情况下表现相同。我个人喜欢的是你的setup()功能可以在旅途中构建您的对象,同时将相关的事物放在一起,让它讲述一个有凝聚力的故事,而不需要跳到不同的部分。

关于javascript - Vue 3 组合 API 数据()函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64105088/

相关文章:

javascript - 单击后退按钮时如何避免ajax重新加载

vue.js - 如何将 tailwind css 捆绑到 Vue 组件包中

javascript - Nuxt 配置动态样式表

javascript - 在browserify和babel下React JavaScript与ES6编译问题

javascript - 如何将 rel ="preload"用作 ="style"或 ="script"或提高页面速度的更好方法

javascript - 如何动态内联通过文件加载器加载的 SVG?

javascript - 语言切换器不应用新的区域设置

vue.js - 如何在 Vuex 中为 mapbox map 设置集中状态?

vue.js - 如何在 Vue.js 中引用 '<slot></slot>' 中的文本

javascript - 是的, "Proxy"-ing jQuery 的 ready() 函数