当前位置: 首页 > wzjs >正文

网站前台架构公司广告推广

网站前台架构,公司广告推广,工程施工合同协议书范本,电商设计可以自学吗在 Vue 中&#xff0c;ref 是一个非常重要的 API&#xff0c;用于获取 DOM 元素或组件实例的引用&#xff0c;并在 Vue 3 中引申为响应式数据的创建方式。 &#x1f530;Vue 中 ref 的基础用法 ✅ 用于 DOM 引用&#xff08;Vue 2 & 3 都支持&#xff09; <template&g…

在 Vue 中,ref 是一个非常重要的 API,用于获取 DOM 元素或组件实例的引用,并在 Vue 3 中引申为响应式数据的创建方式。


🔰Vue 中 ref 的基础用法

✅ 用于 DOM 引用(Vue 2 & 3 都支持)

<template><input ref="myInput" />
</template><script>
export default {mounted() {this.$refs.myInput.focus(); // 访问 DOM}
}
</script>
  • 在 Vue 2 和 Vue 3 中都可以通过 this.$refs.myInput 访问对应 DOM 元素或组件实例。

✅ 在 Vue 3 中用于响应式数据(Composition API)

import { ref } from 'vue'const count = ref(0)function increment() {count.value++
}
  • ref(0) 创建一个响应式的变量。
  • 使用 .value 访问或修改其值。
  • Vue 会自动跟踪 .value 的变化并响应更新视图。

🎯 Vue 3 中响应式的两种方式对比

import { ref, reactive } from 'vue'// 适用于基础类型
const count = ref(0)// 适用于对象
const state = reactive({name: 'Alice',age: 25
})
场景 推荐API
基础类型数字、字符串等)ref()
对象、数组、嵌套结构reactive()

⚙️ 使用 ref 的常见场景(Vue 3)

  • 操作 DOM(如 focus、scroll)
  • 获取组件实例的方法(如手动触发方法)
  • 创建响应式的局部状态(尤其在组合式函数中)
  • 与 watch 或 watchEffect 配合使用

vue2 和vue3的对比

🧩 创建和使用 ref

✅ Vue 2 - 仅用于 DOM/组件引用

<template><input ref="myInput" />
</template><script>
export default {mounted() {this.$refs.myInput.focus()}
}
</script>
  • ❌ 没有 ref() 响应式 API
  • this.$refs.myInput 获取 DOM 或子组件实例

✅ Vue 3 - DOM + 响应式变量(Composition API)

<template><input ref="myInput" />
</template><script setup>
import { ref, onMounted } from 'vue'const myInput = ref(null)onMounted(() => {myInput.value.focus()
})
</script>
  • ref(null) 可用于 DOM,也可用于响应式数据
  • .value 是关键:访问响应式内容或 DOM 节点

📦 响应式数据对比

✅ Vue 2 - 使用 data(Options API)

export default {data() {return {count: 0}},methods: {increment() {this.count++}}
}
  • 响应式由 Vue 自动处理,不能在 data 外创建变量响应式化

✅ Vue 3 - 使用 ref()(Composition API)

import { ref } from 'vue'const count = ref(0)function increment() {count.value++
}
  • 可在任意作用域中定义响应式变量(组合式函数)
  • value 访问响应式数据

🧩 组件引用对比

✅ Vue 2

<child-component ref="child" />this.$refs.child.someMethod()

✅ Vue 3

<child-component ref="childRef" />const childRef = ref(null)
onMounted(() => {childRef.value.someMethod()
})

📌 生命周期中访问 ref

生命周期Vue 2Vue 3
访问时机mounted()onMounted()
DOM 可用this.$refs.xxxref.value
使用方式Options API推荐使用

✅ 完整对照示例

🔹Vue 2 示例(Options API)

<template><div><input ref="inputEl" /><p>{{ count }}</p><button @click="increment">+</button></div>
</template><script>
export default {data() {return {count: 0}},mounted() {this.$refs.inputEl.focus()},methods: {increment() {this.count++}}
}
</script>

🔹Vue 3 示例(Composition API)

<template><div><input ref="inputEl" /><p>{{ count }}</p><button @click="increment">+</button></div>
</template><script setup>
import { ref, onMounted } from 'vue'const count = ref(0)
const inputEl = ref(null)const increment = () => count.value++onMounted(() => {inputEl.value.focus()
})
</script>

✅ 总结对比表

功能Vue 2Vue 3
DOM/组件引用ref=“xxx” + $refs.xxxref() + .value
响应式数据data() 返回对象ref() / reactive()
生命周期访问mounted()onMounted()
类型支持弱,难配合 TS强,适合 TS/组合式函数
编程风格Options APIComposition API(推荐)
http://www.dtcms.com/wzjs/815340.html

相关文章:

  • 雅安网站开发精品网文
  • 上海网站开发方案贵州省建设厅官网站首页
  • 松原市住房和城乡建设厅网站自己搞个网站
  • 如何给网站添加icon优购网官方网上商城
  • 农业建设项目管理信息系统网站公司网站应该是市场部做吗
  • 南阳网(网站).广州汽车网络推广服务
  • 在线建网站wordpress seo代码
  • 与安网站建设网站建设存在不足
  • 不限关键词做网站平台好的做外贸的网站
  • 西安装修行业网站建设制作微信网页的网站吗
  • qq钓鱼网站太原网站建设加q.479185700
  • 大型公司为什么做网站拼多多网站怎么做的
  • 公司网站如何宣传推广网站建设入门教程视频教程
  • 陕西城乡住房建设部网站保定网站建设方案咨询
  • 四川省网站备案搜索引擎营销的主要方式有哪些?
  • 进入山东省住房和城乡建设厅网站asp建站程序
  • 国外网站做淘宝客资阳房地产网站建设
  • 网站建设营销外包公司简单好看的logo图片
  • html 网站网站开发核心技术
  • 华为云速建站可以做英文网站我做的网页怎么是危险网站
  • 聊城微信推广网站建设银行广达行网站
  • 网站开发环境配置难手机优化师下载
  • 网站建设加盟模式网站设计有什么前景
  • 网站做中英文切换正规电商平台
  • 企业网站建设需了解什么第三方营销平台有哪些
  • 龙岗附近做网站公司wordpress 批量上传
  • 广州企业网站开发门户网站价格
  • 宁波网站开发公司怎么样徐州做网站哪里好
  • 网站开发与维护好找工作吗wordpress新主题tint
  • 新乡谷雨网络公司做的网站怎么样企业咨询管理是做什么的