vue3 内置的特殊属性ref

Vue 3 中的数据绑定是通过模板语法实现的。开发者可以在模板中使用特殊的语法来绑定数据,例如使用双花括号 { {}} 来显示数据,或者使用 v-bind 指令来绑定属性。
当数据发生变化时,Vue 会自动更新绑定的数据在模板中的显示,实现页面的自动更新。

虽然 Vue 的响应式数据驱动模式非常强大,但有时直接访问底层 DOM 元素是必要的。

vue3 内置的特殊属性ref

ref 是一个特殊的 attribute,它允许在一个特定的 DOM 元素或子组件实例被挂载后,获得对它的直接引用。

  • ref 用于注册元素或子组件的引用。
  • ref参数类型:string | Function
    • 当使用字符串作为参数时,这个字符串将作为引用的名称,可以在组件的逻辑部分通过this.$refs[refName]来访问对应的元素或组件实例。
    • 当使用函数作为参数时,这个函数将在组件挂载后被调用,函数的参数是对应的元素或组件实例。

使用选项式 API,引用将被注册在组件的 this.$refs 对象里

<!-- 存储为 this.$refs.p -->
<p ref="p">hello</p>

使用组合式 API,引用将存储在与名字匹配的 ref

用在普通DOM标签上,获取的是DOM节点

示例:

<template>
  <div>
    <div ref="domDiv">hi, 这是有ref属性的div</div>
    <button @click="showLog">点击输出div</button>
  </div
Vue 3.0中,动态组件的实现可以通过使用内置组件component来实现。component组件有一个特殊的属性is,用于指定要渲染的动态组件。通过设置is属性的值为一个变量,可以动态地加载不同的组件。比如,可以这样使用component组件来实现动态组件: <component :is="currentComponent"></component> 其中,currentComponent是一个data属性,可以根据需要来动态修改它的值,从而加载不同的组件。 同时,如果想要在动态组件之间保留组件状态或避免重新渲染,可以使用Vue 3.0中的内置组件keep-alive来包裹动态组件。keep-alive组件的主要作用是缓存不活动的组件实例,而不是销毁它们。通过将动态组件包裹在keep-alive组件中,可以实现组件状态的保留。 例如,可以这样使用keep-alive组件包裹动态组件: <keep-alive> <component :is="currentComponent"></component> </keep-alive> 这样,当切换动态组件时,原先的组件实例不会销毁,而是被缓存起来,以便再次使用。 除了component和keep-alive内置组件之外,Vue 3.0还提供了其他一些内置组件,如transition、transition-group、slot和teleport。这些内置组件可以用于实现过渡效果、列表过渡效果、插槽和传送门等功能。 总结起来,Vue 3.0中可以通过component和keep-alive内置组件来实现动态组件的功能,同时还有其他一些内置组件可以用于实现更多的功能需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值