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

相关推荐

  1. 学习python第一

    2024-02-16 08:06:02       45 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-16 08:06:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-16 08:06:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-16 08:06:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-16 08:06:02       20 阅读

热门阅读

  1. 【动态规划初识】整数划分

    2024-02-16 08:06:02       32 阅读
  2. 【数据统计】A股分红率排行榜2023

    2024-02-16 08:06:02       94 阅读
  3. 企业微信自动推送机器人的应用与价值

    2024-02-16 08:06:02       36 阅读
  4. GoRules:Go的业务规则引擎

    2024-02-16 08:06:02       35 阅读
  5. Educational Codeforces Round 161 (Rated for Div. 2)(A - E)

    2024-02-16 08:06:02       32 阅读
  6. 学习Spring的第十八天

    2024-02-16 08:06:02       36 阅读
  7. leetcode - 2149. Rearrange Array Elements by Sign

    2024-02-16 08:06:02       30 阅读