vue3快速入门-ref获取元素DOM

本系列文章合集click me

本系列文章源码click me



Vue2

在 Vue2.X 中是先在 标签上定义 :ref='XXX' 然后 this.$refs.XXX 来获取

Vue3

  1. 在标签上定义 ref='XXX 不需要冒号: 也就是 v-bind 的缩写
  2. 在 setup 中得给 ref 指定类型 HTMLElement
<template>
  <div id="app">
    <input type="text" placeholder="正常input" />
    <input type="text" ref="focusIpt" placeholder="自动聚焦" />
  </div>
</template>
<script lang="ts">
import { defineComponent, onMounted, ref } from "vue";

export default defineComponent({
  setup() {
    const focusIpt = ref<HTMLElement | null>(null);

    // 在setup执行时,template中的元素还没挂载到页面上,所以必须在mounted之后才能获取到元素。
    onMounted(() => {
      focusIpt.value?.focus();
    });

    return { focusIpt };
  },
});
</script>

在这里插入图片描述

Vue.js 是一款流行的前端 JavaScript 框架,用于构建用户界面。而 Vue 3 则是该框架的最新版本,在性能、API 设计等方面都有了显著改进。下面是一份简单的入门指南: ### 环境搭建 1. **安装 Node.js** 因为 Vue CLI 和其他工具都依赖于Node环境,所以首先要保证电脑上已经装好了它。 2. **创建项目** - 使用 `vue create` 命令通过 Vue CLI 创建新应用。 ```bash npm install -g @vue/cli # 安装CLI全局命令行工具 (如果尚未安装) vue create my-project-name # 替换my-project-name为你想要的名字 cd my-project-name && npm run serve # 启动本地服务器查看效果 ``` 3. **配置开发环境** 如果你习惯使用IDE的话推荐 VSCode,并添加一些插件如Vetur等可以帮助提高编码效率;当然也可以选择WebStorm这类专业级编辑器。 ### 核心概念学习 #### 组件化思想 组件(Component)是Vue的核心特性之一,每个页面都可以拆分为若干独立的小模块(即一个个小部件),然后根据需要组合起来形成完整的UI结构。这种设计使得代码更易于维护和复用。 - `<script setup>` 新标签简化了单文件组件(SFCs)内的脚本编写方式; - 自定义事件允许父子间通信及状态管理; - Slots 插槽机制让父元素可以向子组件传递内容片段而不破坏封装性。 #### 反应式系统 Vue借助Proxy代理实现了对数据属性自动追踪变化的能力——当视图中的变量值发生更改时会立即触发DOM更新操作。 ```javascript import { ref } from &#39;vue&#39;; export default { setup() { const count = ref(0); function increment(){ console.log(`Count is now ${count.value++}`); } return { count,increment }; } } ``` 以上代码展示了如何声明响应式的数字型state以及关联的操作函数。这里采用了Composition API风格代替原有的Options API形式,提高了逻辑组织灵活性。 #### 生命周期钩子(Hooks) 熟悉生命周期方法有助于更好地控制实例内部流程节点的行为动作,比如初始化完毕后获取远程资源加载列表之类的任务就可以放在 mounted 阶段来做。 --- 这只是冰山一角啦!接下来你可以尝试跟着官方文档进一步深入理解更多高级特性和最佳实践技巧~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温情key

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值