在 vue 3 中读取数据的方法包括:模板中使用响应性数据;使用 ref 获取元素引用;使用 computed 计算属性;使用 watch 监听响应性数据变更;使用 provide/inject 传递数据。
Vue 3 中如何读取数据
在 Vue 3 中,有以下几种方法可以读取数据:
1. 模板中使用响应性数据:
通过使用插值语法 {{}},可以在模板中访问响应性数据。
立即学习“前端免费学习笔记(深入)”;
<template><p>{{ message }}</p> </template><script> export default { data() { return { message: 'Hello Vue 3!' } } } </script>
2. 使用 ref 获取元素引用:
ref 属性允许访问 DOM 元素或子组件的引用。
<template><input ref="input"></template><script> export default { mounted() { // 在挂载后获取 input 元素的引用 console.log(this.$refs.input); } } </script>
3. 使用 computed 计算属性:
computed 属性是一种只读属性,用于根据其他响应性数据计算值。
<template><p>{{ fullName }}</p> </template><script> export default { data() { return { firstName: 'John', lastName: 'Doe' } }, computed: { fullName() { return `${this.firstName} ${this.lastName}`; } } } </script>
4. 使用 watch 监听响应性数据变更:
watch 选项允许监听响应性数据的变化并执行回调函数。
<template><input v-model="message"></template><script> export default { data() { return { message: 'Hello Vue 3!' } }, watch: { message(newVal, oldVal) { console.log('Message changed:', newVal, oldVal); } } } </script>
5. 使用 provide/inject 传递数据:
provide 和 inject 选项用于在祖先和后代组件之间传递数据。
<!-- 祖先组件 --> <template><component-a><component-b></component-b></component-a></template><script> export default { provide() { return { sharedData: 'This data is shared between components' } } } </script><!-- 后代组件 --><template><p>{{ sharedData }}</p> </template><script> export default { inject: ['sharedData'] } </script>