当前位置: 首页 > news >正文

Vue2学习第一天

Vue2 学习第一天

1. 什么是 vue?

Vue 是一套用于构建用户界面的渐进式框架

2. vue 历史

vue 是在 2013 年创建的,vue3 是 2020 出现的,现在主要是用 vue2,创新公司用的是 vue3

vue 的作者是尤雨溪,vue 的搜索热度比 react 更高,国内 vue 用的人更多,国外的用 react 多。

3. vue 学习的内容

image.png

注:标黄是学习的内容

今天学习:常用指令,事件,生命周期,计算属性,watch

4. Vite 构建 Vue 项目

  • 在 cmd 中输入以下代码,构建 vue 项目。
pnpm create vue@2
cd vue_demo //进入vue_demo文件夹
pnpm install //下载相关的依赖包(下载别人写的代码)
pnpm dev //打开终端,进入网页

小 tips:如果下载很慢,可以用 ctrl+c 进行中断,重下;也可以切换淘宝源来下载。

  • 在终端输入**pnpm dev**打开终端

vue初始化界面

  • 以下是 vue 的目录结构介绍

vue文件

可以下载vetur插件,可以进行代码提示。

5. Vite 配置文件说明

import legacy from "@vitejs/plugin-legacy";
import vue2 from "@vitejs/plugin-vue2";

@的含义:@这里是代替了src路径。

6. main.js 文件说明

// import 就是引入文件
import Vue from "vue";
// App是我们的根组件
import App from "./App.vue";
import "./assets/main.css";// h函数就是帮助我们渲染页面的函数
new Vue({el: "#app",render: (h) => h(App),
});

7. Vue 文件总结

vue 文件主要由templatescriptstyle组成。

<template><div></div>
</template><script>
export default {name: "",
};
</script><style scoped></style>
  • template 模板用法

    template 是我们的视图,可以在里面写 html

    <template><div></div>
    </template>
    
  • 绑定事件

    @click叫做指令 v-on:click ,@是 v-on 的简写 v-on的意思就是触发一个事件 ,使用**v-on:xxx**或 **@xxx**绑定事件,其中 xxx 是事件名;addNum就是具体的事件函数。

    <button @click="addNum">+1</button>
    
  • 大胡子语法

    {{ }}大胡子语法,大胡子里面可以放我们data中的变量

    <span>{{ num }}</span>
    
  • data 数据源

    • data 是我们的数据源,vue 会对 data添加监听,能够监听到 data 中数据的变化,然后触发视图更新
    • data 写法比较奇怪,是一个函数,函数返回一个对象,对象中的数据才是我们的数据源
    export default {data() {return {num: 0,};},
    
  • methods 配置函数

    • methods 就是我们的事件处理中心,所有的函数都放在里面
    • methods 中配置的函数,不要用箭头函数!否则 this 就不是 vm 了
    • methods 中配置的函数,都是被 Vue 所管理的函数,this 的指向是vm组件实例对象
      methods: {addNum() {console.log(this);this.num++;},},
    
  • 整体 vue 文件

    <template><div id="test"><button @click="addNum">+1</button><span>{{ num }}</span></div>
    </template><script>
    export default {data() {return {num: 0,};},methods: {addNum() {console.log(this);this.num++;},},
    };
    </script><style>
    #test {margin: auto;
    }
    </style>
    

QQ录屏20240215102051 -original-original

8. v-if 条件渲染

  • v-if

    • 写法:

      • v-if="表达式"

      • v-else-if="表达式"

      • v-else="表达式"

    • 适用于:切换频率较低的场景。

    • 特点:直接通过删除 DOM 元素来控制显隐。

    • 注意:v-if可以和v-else-ifv-else一起使用,但要求结构不能被“打断”。

  • v-show

    • 写法:v-show="表达式"
    • 适用于:切换频率较高的场景。
    • 特点:不展示的 DOM 元素未被移除,仅仅是使用样式**display:none**隐藏掉

v-if 和 v-show 的区别:

  1. 需要频繁操作 DOM 元素显隐的时候,用 v-show 性能会更好
  2. 使用v-if的时,元素可能无法获取到,而使用v-show一定可以获取到。
<template><div id="wrapper"><button v-on:click="toggle">toggle</button><p v-if="isShow">hello world</p></div>
</template><script>
export default {data() {return {isShow: true,};},methods: {toggle() {this.isShow = !this.isShow;},},
};
</script><style></style>

QQ录屏20240215102258 -original-original

http://www.lryc.cn/news/301121.html

相关文章:

  • HAL STM32通过multi_button库处理按键事件
  • 随机过程及应用学习笔记(一)概率论(概要)
  • 洛谷_P1059 [NOIP2006 普及组] 明明的随机数_python写法
  • 爆火的人工智能开源open-interpreter源码解析
  • POM设计模式思路,详解POM:概述与介绍,POM思路梳理+代码示例(全)
  • 1、学习 Eureka 注册中心
  • 何为分账系统?
  • 机器学习10-特征缩放
  • Java基于微信小程序的医院挂号小程序,附源码
  • HarmonyOS一杯冰美式的时间 -- 验证码框
  • GitLab配置SSHKey
  • 通过QT制作一个模仿微信主界面的界面(不要求实现具体通信功能)
  • 作物模型狂奔:WOFOST(PCSE) 数据同化思路
  • 腾讯云4核8G服务器能支持多少人访问?
  • 多重背包问题 ⅠⅡ Ⅲ
  • 挑战杯 python的搜索引擎系统设计与实现
  • 【LeetCode: 103. 二叉树的锯齿形层序遍历 + BFS】
  • C#学习(十三)——多线程与异步
  • MySQL 数据库安装教程详解(linux系统和windows系统)
  • 从汇编分析C语言可变参数的原理,并实现一个简单的sprintf函数
  • Word docx文件重命名为zip文件,解压后直接查看和编辑
  • SpringBoot中公共字段的自动填充
  • 【天衍系列 03】深入理解Flink的Watermark:实时流处理的时间概念与乱序处理
  • day07.C++类与对象
  • String讲解
  • 人群异常聚集监测系统-聚众行为检测与识别算法---豌豆云
  • 多模态基础---BERT
  • 图表示学习 Graph Representation Learning chapter2 背景知识和传统方法
  • OpenMVG(计算两个球形图像之间的相对姿态、细化重建效果)
  • 【QT+QGIS跨平台编译】之三十四:【Pixman+Qt跨平台编译】(一套代码、一套框架,跨平台编译)