vue3基础

前言

Vue 3 是一个渐进式JavaScript框架,用于构建用户界面和单页应用程序。以下是一些Vue 3的基础知识:

创建Vue应用

在Vue 3中,我们通过创建一个Vue应用实例来开始:

复制代码
const { createApp } = Vue

createApp({
  data() {
    return {
      message: 'Hello Vue!'
    }
  }
}).mount('#app')

HTML部分:

复制代码
<div id="app">{{ message }}</div>

响应式数据

Vue使用响应式系统,当数据变化时,视图会自动更新。

  • data 函数返回一个对象,该对象的属性是响应式的。

模板语法

Vue使用基于HTML的模板语法,允许你声明式地将数据渲染进DOM。

  • 插值:{``{ variable }}
  • 指令:v-bind:href="url" 或简写为 :href="url"

属性和方法

  • methods 对象包含Vue实例的方法。

    methods: {
    reverseMessage() {
    this.message = this.message.split('').reverse().join('');
    }
    }

计算属性和侦听器

  • computed 属性是声明式的依赖性计算值。

    computed: {
    reversedMessage() {
    return this.message.split('').reverse().join('');
    }
    }

  • watch 侦听器用于观察和响应Vue实例上的数据变动。

    watch: {
    message(newVal, oldVal) {
    // 执行操作
    }
    }

类和样式绑定

  • v-bind:classv-bind:style 用于动态绑定类和样式。

条件渲染

  • v-ifv-else-ifv-else 用于条件性地渲染一块内容。

列表渲染

  • v-for 指令基于一个数组来渲染一个列表。

  • {{ item.text }}

事件处理

  • v-on 或简写 @ 用于监听DOM事件。

    <button @click="reverseMessage">Reverse Message</button>

表单输入绑定

  • v-model 指令在表单输入和应用状态之间创建双向绑定。

生命周期钩子

Vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载DOM、渲染、更新、卸载等一系列过程,我们可以在这些过程中使用生命周期钩子。

  • beforeCreate
  • created
  • beforeMount
  • mounted
  • beforeUpdate
  • updated
  • beforeUnmount
  • unmounted

组件

组件是Vue应用的核心,它们是可复用的Vue实例。

复制代码
const MyComponent = {
  data() {
    return { /* ... */ }
  },
  template: `<div>...</div>`
}

createApp(MyComponent).mount('#app')
相关推荐
倾颜1 小时前
从 textarea 到 AI 输入框:用 Tiptap 实现 / 命令、@ 引用和结构化请求
前端·langchain·next.js
kyriewen3 小时前
程序员连夜带团队跑路,省了23万:这AI太贵,真的用不起了
前端·javascript·openai
kyriewen3 小时前
你写的代码没有测试,就像出门不锁门——Jest + Testing Library 从入门到不慌
前端·单元测试·jest
yuzhiboyouye4 小时前
web前端英语面试
前端·面试·状态模式
canonical_entropy5 小时前
下一代低代码渲染框架 nop-chaos-flux 的设计原则
前端·低代码·前端框架
东方小月5 小时前
5分钟搞懂Harness Engineering(驾驭工程):从提示词到AI Agent的进化之路
前端·后端·架构
我叫黑大帅5 小时前
为什么需要 @types/react?解决“无法找到模块 react 的声明文件”报错
前端·javascript·面试
之歆6 小时前
DAY_21JavaScript 深度解析:数组(Array)与函数(Function)(一)
前端·javascript
XinZong6 小时前
【AI社交】基于OpenClaw自研轻量化AI社交平台实战
前端
Le_ee7 小时前
ctfweb:php/php短标签/.haccess+图片马/XXE
开发语言·前端·php