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:class 和 v-bind:style 用于动态绑定类和样式。

条件渲染

  • v-if、v-else-if、v-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')
相关推荐
liangshanbo12151 小时前
面试题:前端工程化中 Tree Shaking的原理是什么?
前端·treeshaking
500842 小时前
React Native for OpenHarmony 实战:三方库 react-native-url-polyfill 的鸿蒙化适配指南
javascript·react native·react.js·性能优化·electron·harmonyos
补码缩写2 小时前
视频跳转触发了seeked,画面就到位了吗
前端
库拉镜像AI牛牛2 小时前
漫剧工作室量产方案:依托知漫剧 AI 短剧降本增效
大数据·服务器·前端·人工智能·语音识别
大纽耶耶2 小时前
我把 YOLO 训练做成了网页版:需求设计与技术选型
vue.js
不可能片场2 小时前
内容运营自动化 用相似度拦住撞车选题
前端·electron
静默回滚2 小时前
视频进度条跳回去,先别改事件监听
前端
米多科技2 小时前
让 AI 走进我的 3D 世界:一个 MCP server 的完整实现
javascript
大纽耶耶2 小时前
开发 YOLO 训练管理平台的 23 个实践教训
vue.js
Lank_M2 小时前
MP4和WebM导出后为何起播与拖动不同
前端