光之晨曦🌟🌟🌟

vuePress-theme-reco 晨曦    2021 - 2022
光之晨曦🌟🌟🌟 光之晨曦🌟🌟🌟

Choose mode

  • dark
  • auto
  • light
首页
前端开发
  • CSS
  • FrontEnd
  • GraphQL
  • JS基础语法
  • JavaScript
  • TypeScript
  • Vue
  • Webpack
  • 数据结构与算法
  • 浏览器相关
  • 推荐文档
JS指南
  • JS基础相关
  • ECMAScript 6
  • OOP面向对象编程
  • JavaScript设计模式
前端框架
  • Vue相关

    • Vue基础相关
    • Vue官方生态
    • Vue.js的设计核心
性能优化
  • 前端缓存

    • HTTP缓存
    • 数据缓存
    • 离线缓存
    • CDN缓存
  • 优化方案

    • SEO方向的优化方案
    • Webpack的性能优化
    • Canvas性能优化方案
    • 了解常见的Web、App性能优化方案
    • React、Vue框架使用性能优化方案
前端工程化
  • 部署
  • Git
  • Vite
  • WebPack
第三方拓展
时间线
关于
GitHub
author-avatar

晨曦

82

文章

61

标签

首页
前端开发
  • CSS
  • FrontEnd
  • GraphQL
  • JS基础语法
  • JavaScript
  • TypeScript
  • Vue
  • Webpack
  • 数据结构与算法
  • 浏览器相关
  • 推荐文档
JS指南
  • JS基础相关
  • ECMAScript 6
  • OOP面向对象编程
  • JavaScript设计模式
前端框架
  • Vue相关

    • Vue基础相关
    • Vue官方生态
    • Vue.js的设计核心
性能优化
  • 前端缓存

    • HTTP缓存
    • 数据缓存
    • 离线缓存
    • CDN缓存
  • 优化方案

    • SEO方向的优化方案
    • Webpack的性能优化
    • Canvas性能优化方案
    • 了解常见的Web、App性能优化方案
    • React、Vue框架使用性能优化方案
前端工程化
  • 部署
  • Git
  • Vite
  • WebPack
第三方拓展
时间线
关于
GitHub

「译」 VueDose Tip 30 - 在 Vue.js 3 Composition API 中访问模板中的 ref

vuePress-theme-reco 晨曦    2021 - 2022

「译」 VueDose Tip 30 - 在 Vue.js 3 Composition API 中访问模板中的 ref

晨曦 2020-02-05 Vue 3VueDose文章翻译

你已经在上一个 Tip 在 Vue.js 3 Composition API 中访问实例属性中,看到了如何使用新语法访问实例属性。

但是,你如果读过上一个 Tip,你已经了解到我们钟爱的 this.$refs 并不包含在 setup context 对象 中。

那么,如何在 Composition API 中使用模板 ref 呢?

这可能比你想象的要简单!重点就是,Vue.js 统一了 refs 的概念,所以你只需要使用你已经知道的用来声明响应式变量的 ref() 函数,即可声明模板 ref。

请记住,ref 名称必须与变量名称相同。让我来说明一下。对于模板:

<template>
  <div>
    <h2 ref="titleRef">{{ formattedMoney }}</h2>
    <input v-model="delta" type="number" />
    <button @click="add">Add</button>
  </div>
</template>
1
2
3
4
5
6
7

我已经在 <h2> 标签上设置了 titleRef。一切都在模板上操作的。现在在 setup 函数中,你需要声明一个与 titleRef 相同名字的 ref,例如将其初始化为 null:

export default {
  setup(props) {
    // Refs
    const titleRef = ref(null);

    // Hooks
    onMounted(() => {
      console.log("titleRef", titleRef.value);
    });

    return {
      titleRef
      // ...
    };
  }
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

你可以通过 .value 属性访问这个 ref 的值,就像访问其它响应式变量一样。你如果按照示例中所示进行操作,则应该在控制台中看到结果 titleRef <h2>10.00</h2>。

# CodeSandbox

# 原文链接

编辑