Vue学习笔记

1、什么是Vue?

Vue 是一款用于构建用户界面的渐进式的JavaScript框架。(官方:https://cn.vuejs.org/)
在这里插入图片描述

2、快速入门

①准备
准备html页面,并引入Vue模块(官方提供)
创建Vue程序的应用实例
准备元素(div),被Vue控制
②构建用户界面
准备数据
通过插值表达式渲染页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <h1>{{msg}}</h1>
    </div>
    <!-- 引入vue模块 -->
    <script type="module">
        import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js';
        /* 创建vue应用实例 */
        createApp({
            data(){
                return {
                    // 定义数据
                    msg: 'hello vue3'
                }
            }
        }).mount("#app");
    </script>
</body>
</html>

3、常用指令

指令:HTML标签上带有 v-前缀的特殊属性,不同的指令具有不同的含义,可以实现不同的功能。

指令作用
v-for列表渲染,遍历容器的元素或者对象的属性
v-bind为HTML标签绑定属性值,如设置href,css样式等
v-if/v-else-if/v-else条件性的渲染某元素,判定为true时渲染,否则不渲染
v-show根据条件展示某元素,区别在于切换的是display属性的值
v-model在表单元素上创建双向数据绑定
v-on为HTML标签绑定事件指令

注意:v-if 与v-show的区别?
v-if 是根据条件判断是创建还是移除元素节点(条件渲染)
v-show 是根据css样式display来控制元素的显示与隐藏

4、Vue生命周期

生命周期的八个阶段:每个阶段会自动执行一个生命周期方法(钩子),让开发者有机会在特定的阶段执行自己的代码

  • 创建前(beforecreate)
  • 创建后(created)
  • 载入前(beforeMount)
  • 挂载完成(mounted)
  • 数据更新前(beforeUpdate)
  • 数据更新后(updated)
  • 组件销毁前(beforeUnmount)
  • 组件销毁后(unmounted)

5、Axios简介

介绍:Axios 对原生的Ajax进行了封装,简化书写,快速开发。
引入Axios的js文件(参照官网)

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
GET:
axios.get(url).then((res)=>i.}).catch((err)=>{.})
POST:
axios.post(url,data).then((res)=>{.}).catch((err)=>{..} )

6、npm 命令的含义

npm:Node Package Manager,是NodeJs的软件包管理器
npm install xxxx 从远程仓库获取并安装js

7、Vue项目-创建

创建一个工程化的Vue项目,执行命令:npm init vue@latest
执行上述指令,将会安装并执行create-vue,它是Vue官方的项目脚手架工具。
在这里插入图片描述

8、Vue组件书写两种风格

选项式API
组合式API:推荐

<script setup>
    import { onMounted, ref } from 'vue';
    const count = ref(0); // 声明响应式变量
    function increment() { // 声明函数
        count.value++;
    }
    onMounted(() => { // 声明钩子函数
        console.log('Vue Mounted ...');
    })
</script>
<template>
    <button @click="increment">count: {{ count }}</button>
</template>

setup:是一个标识,告诉Vue需要进行一些处理,让我们可以更简洁的使用组合式API。
ref():接收一个内部值,返回一个响应式的ref对象,此对象只有一个指向内部值的属性 value
onMounted():在组合式API中的钩子方法,注册一个回调函数,在组件挂载完成后执行。

9、拦截器

在请求或响应被 then 或 catch 处理前拦截它们
请求成功:配置请求头
请求失败:请求错误处理
响应成功:响应数据处理
响应失败:响应错误提示

//导入axios npm install axios
import axios from 'axios';
//定义一个变量,记录公共的前缀 ,baseURl
const baseURL ='http://localhost:8080'
const instance = axios.create({baseURL})
//添加响应拦截器
instance.interceptors.response.use(
	result =>{
		//http响应状态码为2xx会触发该函数
		return result.data;
	},
	err =>{
		//http响应状态码为2xx会触发该函数
		return Promise.reject(err);
	},
)
export default instance;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值