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

表单输入绑定

  • 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')
相关推荐
武哥聊编程3 分钟前
【AI实战项目】基于SpringAI+Springboot+Vue的AI智能简历优化助手
vue.js·人工智能·spring boot
梨想橙汁17 分钟前
Webpack 快速上手:前端工程化、打包原理、从零搭建基础项目
前端·webpack·前端工程化
zhanghaha131421 分钟前
HTML系列教程:12_HTML 表格 <table> 零基础详解
前端·html
Betterme25 分钟前
Vue3 竞态请求防护组合式hooks:useLatestRequest 设计思路
前端
_zhourui_h_28 分钟前
一个 [ECS] 到底生成了多少代码?EasyECS 最核心的秘密都在这里
前端
梨想橙汁30 分钟前
Git 分支详解:创建切换、合并分支、冲突解决实战
前端·git
雪芽蓝域zzs32 分钟前
Vue3 defineProps` / `defineEmits` 是编译器宏,不需要手动 import 导入
前端·javascript·vue.js
whyweplay36 分钟前
Elpis:从Json Schema 到 页面
前端·javascript
大牧师1 小时前
Nest.js 微服务入门教程
开发语言·javascript·后端·微服务·node.js·nest.js·nest
做萤石二次开发的哈哈1 小时前
海康班班通交互一体机技能接入实战:ISAPI透传+OTAP双协议封装,Web/App/小程序教学管理应用一站生成
前端·物联网·小程序·交互·萤石开放平台·蓝海aiot一站式工作台·aiot开发