技术文摘
Vue3 中 setup、ref 和 reactive 的使用方法
Vue3 中 setup、ref 和 reactive 的使用方法
在 Vue3 的世界里,setup、ref 和 reactive 是三个非常重要且基础的概念,掌握它们对于构建高效的 Vue 应用至关重要。
首先来看看 setup。setup 是 Vue3 新增的一个组件选项,它是一个函数,在组件的 beforeCreate 钩子函数之前被调用。setup 函数接收两个参数:props 和 context。props 是组件接收到的属性,context 包含了 attrs、slots 和 emit 等对象,提供了访问组件上下文信息的途径。setup 函数的返回值可以是一个对象,对象中的属性和方法会暴露给模板使用。例如:
import { ref } from 'vue';
export default {
setup() {
const message = ref('Hello, Vue3!');
const sayHello = () => {
console.log(message.value);
};
return {
message,
sayHello
};
}
};
在模板中就可以直接使用 message 和 sayHello 方法。
接着说说 ref。ref 用于创建一个响应式的数据变量。它接受一个初始值,并返回一个包含该值的响应式对象。这个对象有一个 .value 属性来访问和修改实际的值。当 .value 发生变化时,Vue 会自动检测到并更新与之绑定的 DOM 元素。就像上面例子中的 message,它就是一个 ref 创建的响应式变量。在模板中使用时,不需要写 .value,Vue 会自动帮我们处理。
最后讲讲 reactive。reactive 用于创建一个响应式的对象或数组。它接收一个普通对象或数组,返回一个响应式代理对象。与 ref 不同的是,使用 reactive 创建的对象直接访问属性即可,不需要 .value。例如:
import { reactive } from 'vue';
export default {
setup() {
const user = reactive({
name: 'John',
age: 30
});
const updateUser = () => {
user.name = 'Jane';
user.age++;
};
return {
user,
updateUser
};
}
};
在模板中直接使用 user.name 和 user.age 就能显示相应的值,调用 updateUser 方法会自动更新视图。
setup 为组件提供了一个初始化的环境,ref 适合处理单个响应式数据,reactive 则用于创建复杂的响应式对象和数组。熟练掌握它们的使用方法,能让我们在 Vue3 的开发中更加得心应手。
TAGS: Vue3基础 setup函数 ref使用 reactive使用
- 微信小程序订阅消息添加英文版本的方法
- 怎样防止浏览器隐藏元素对网页水印进行篡改
- React中循环创建div并添加行号的实现方法
- 为 scrollLeft 变化的元素添加动画的方法
- HTML图片链接是HTTP打开却变HTTPS原因
- Sass 中优雅使用函数:支持传参且避免重复
- 高德地图添加 marker 标记后无法加载:加载异常原因探究
- Vue项目中使用ClickHouse JS实现增删改查的方法
- 不使用爬虫和接口,用JavaScript获取淘宝页面SKU价格的方法
- 绝对定位元素相对内容框的偏移方法
- HTTP POST请求获取视频文件流后转化为视频文件并下载的方法
- 高德地图原生开发地图无法加载,或与Mock.js有关
- CSS类名命名中串行命名与小驼峰命名的选择问题
- 侧边栏展开收起时如何避免页面内容超前伸
- 谷歌搜索框自动补齐功能的实现原理