Vue3快速入门-ref

查看本系列文章合集click me

下载本系列文章源码click me



作用: 将数据转换为响应式,一般用于基础数据类型

语法: const xxx = ref(initValue);

  • 创建一个包含响应式数据的引用(reference)对象
  • js/ts中操作数据: xxx.value
  • 模板中操作数据: 不需要.value
<template>
  <div id="app">
    <h2>消息 {{ num }} 条</h2>
    <h3>今年是 {{ nowYear }} 年</h3>

    <button @click="updateMsg">更新消息</button>
    <p>点击了 {{ clickBtnNum }} 下按钮</p>
  </div>
</template>

<script lang="ts">
import { defineComponent, ref } from "vue";

export default defineComponent({
  setup() {
    /* 方式一:直接传入ref对象 */
    const num = ref(1);

    /* 方式二:先声明 后传入ref对象 */
    let year = new Date().getFullYear();
    const nowYear = ref(year);

    /* 记录按钮点击次数 */
    const clickBtnNum = ref(0);

    /* 更新响应式数据的方法 */
    const updateMsg = () => {
        clickBtnNum.value += 1;
        num.value *= 2;
    }

    return {
      num,
      nowYear,
      clickBtnNum,
      updateMsg
    };
  },
});
</script>

ref

### Vue3 快速入门教程 #### 1. 环境搭建 Vue3 的开发环境通常基于 Vite 构建工具,通过 `create-vue` 脚手架来快速初始化项目。以下是具体的实现方式: ```bash npm create vue@latest my-project cd my-project npm install npm run dev ``` 这一步骤能够帮助开发者迅速配置好一个支持 Vue3 的现代前端开发环境[^2]。 --- #### 2. 数据绑定 (Data Binding) 在 Vue3 中,数据可以通过模板语法直接绑定到视图层。例如,可以每秒更新一次消息内容: ```html <template> <div>{{ message }}</div> </template> <script> import { ref, onMounted } from &#39;vue&#39;; export default { setup() { const message = ref(&#39;初始消息&#39;); onMounted(() => { setInterval(() => { message.value = Math.random().toString(36).substring(7); }, 1000); }); return { message }; } }; </script> ``` 上述代码展示了如何利用组合式 API (`setup`) 和响应式变量 (`ref`) 来动态修改页面上的内容[^3]。 --- #### 3. 动态样式 (Dynamic Style) 为了实现动态样式的功能,可以结合 Vue 的计算属性或者事件监听器完成颜色随机切换的效果: ```html <template> <div :style="{ backgroundColor: color }"> {{ message }} </div> <button @click="changeColor">点击更换背景色</button> </template> <script> import { ref } from &#39;vue&#39;; export default { setup() { const color = ref(&#39;red&#39;); const changeColor = () => { const colors = [&#39;blue&#39;, &#39;green&#39;, &#39;yellow&#39;, &#39;purple&#39;]; color.value = colors[Math.floor(Math.random() * colors.length)]; }; return { color, changeColor }; }, }; </script> ``` 此示例中,`:style` 绑定了动态的 CSS 属性,而按钮点击触发了颜色的变化逻辑。 --- #### 4. 条件渲染 (Conditional Rendering) Vue 提供了多种条件渲染的方式,常见的有 `v-if` 和 `v-show`。下面是一个简单的例子展示如何根据布尔值显示/隐藏组件: ```html <template> <div v-if="isVisible">这是可见的内容。</div> <button @click="toggleVisibility">切换可见性</button> </template> <script> import { ref } from &#39;vue&#39;; export default { setup() { const isVisible = ref(true); const toggleVisibility = () => { isVisible.value = !isVisible.value; }; return { isVisible, toggleVisibility }; }, }; </script> ``` 这里使用了 `v-if` 指令以及事件处理程序实现了交互效果。 --- #### 5. 生命周期钩子 (Lifecycle Hooks) 生命周期钩子允许开发者在特定的时间点执行自定义逻辑。例如,在组件挂载完成后打印一条日志信息: ```javascript import { onMounted } from &#39;vue&#39;; export default { setup() { onMounted(() => { console.log(&#39;组件已成功加载!&#39;); }); }, }; ``` 这段代码片段说明了如何借助 `onMounted` 钩子函数完成初始化操作。 --- #### 总结 以上介绍了 Vue3 的基本用法及其核心概念,包括但不限于数据绑定、动态样式、条件渲染和生命周期管理等内容。这些基础知识对于初学者来说至关重要,同时也是构建复杂应用的基础。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

温情key

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

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

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

打赏作者

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

抵扣说明:

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

余额充值