设为首页
收藏本站
切换到宽版
门户
Portal
社区
BBS
站长
开发
运维
资源
游戏
产品
登录
立即注册
随客社区
»
社区
›
交流大厅
›
创客汇聚
›
为什么ref定义的属性在template里不用加.value ...
返回列表
发布新帖
查看:
69
|
回复:
0
为什么ref定义的属性在template里不用加.value
zzz
zzz
当前离线
UID
8
星火
贡献
奖金
发表于
7 天前
|
查看全部
|
阅读模式
这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
本帖最后由 zzz 于 2025-9-8 15:37 编辑
其实通过之前的ref和reactive的底层原理就能知道个大概,但还是再单独再理解一下。
1.ref的本质
ref创建的是一个响应式对象,而不是一个原始值
<font face="Tahoma" size="2">import { ref } from 'vue';
const count = ref(0);
console.log(count); // 输出: { value: 0 }</font>
复制代码
2.模板中的‘自动解包’
Vue 的模板编译器会解析你在模板中使用的变量。当它发现这个变量是一个 ref 时,会自动地、悄悄地帮你加上.value。
<template>
<div>{{ count }}</div>
</template>
复制代码
编译器在处理时,会把它‘翻译’成类似这样的东西:
// 这是伪代码,示意编译过程
h('div', count.value)
复制代码
这就意味着,你写的 {{ count }} 在运行时实际上变成了 {{ count.value }}。这个过程就叫做 ‘解包’。
核心结论:
在 <template> 中不用加 .value 是 Vue 提供的一个语法糖,它通过编译时的自动解包来提升开发体验,让你在模板中可以更直观地使用响应式变量。
回复
举报
返回列表
发布新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速入口
社区门户
社区首页
随客云计算
重要文档
社区规则
官方公告
关于我们
团队介绍
产品合集
联系我们
532352
028-67879779
tech@isuike.com
Copyright © 2001-2025
Suike Tech
All Rights Reserved.
随客交流社区 (备案号:
津ICP备19010126号
)
|
Processed in 0.111319 second(s), 7 queries , Gzip On, MemCached On.
关灯
在本版发帖
返回顶部
快速回复
返回顶部
返回列表