Vue2(0基础入门)

环境准备

安装脚手架

vuecli:

npm install -g @vue/cli

vite:

npm init vue@latest
  • -g 全局安装,任意目录都可以使用vue脚本

image.png

进入目录创建项目:

在目录的终端输入:vue ui

image.png

image.png

image.png

image.png

安装devtool(这个网页是安装好了自动跳转的)
image.png

运行项目:
image.png

修改端口号

image.png

devServer:{  port: 7070  
}

文档地址:
https://webpack.docschina.org/configuration/dev-server/#devserverproxy

代理问题

之前所有关于/api的地址都会走代理:

devServer:{  port: 7070,  proxy: {  '/api': {  target: 'http://localhost:5008',  changeOrigin: true  }  }

🌰:
当我输入:http://localhost:7070/api/user/search/1

会自动跳转到http://localhost:5008/api/user/search/1

项目结构

├─assets
├─components
├─router
├─store
└─views

  • assets - 静态资源

  • components - 可重用组件

  • router - 路由

  • store - 数据共享

  • views - 视图组件

以后还会添加

  • api - 跟后台交互,发送 fetch、xhr 请求,接收响应
  • plugins - 插件

Vue组件

<script setup>  </script>  <template>  </template>  <style scoped>  </style>
  • template 模板部分
  • srcipt 代码部分 js数据和行为
  • style 样式

App.Vue

  • 顶层组件

模板从javascript中提取数据:

<template>  
<h1>{{meg}}</h1>  
</template><script>  
const options = {  data: function (){  return {meg : "你好!"};  }  
};  
export default options;  
</script>

基础操作

Js属性绑定值

<input type="text" v-bind:value="name">

使用v-bind:value 绑定script中的值

简写:<input type="date" :value="age">

事件绑定

<div>  <input type="button" value="点我" v-on:click="m1"> <input type="button" value="点我" @click="m1">  
</div>function m1(){  alert("嘻嘻哈哈")  
}

当点击button的时候,会触发m1方法

v-on: 简写: @

双向绑定

网页上的数据改变,js中的属性值也会改变

在template中使用v-model绑定script中的值

image.png

Axios

  • Axios是什么?
    • 用于发送异步 HTTP 请求(包括 GET、POST、PUT、DELETE 等)来与服务器进行交互。
  • 对请求和响应有统一的拦截

也就是说可以使用Axios来获取后端的数据,然后显示在前端

使用Get方法

import axios from "axios";function sendReq(){axios.get('https://jsonplaceholder.typicode.com/posts').then(response => {console.log(response.data)})}

使用Post方法

function sendPost(){axios.post('https://jsonplaceholder.typicode.com/posts',{tittle: 'foo',body: 'bar',userId: 1,}).then(resp => {console.log(resp)})}

核心思想

前端传递的值到后端,需要符合后端的要求!
比如说:一个类,或者指定的属性

默认配置

核心思想:创建一个实例,在实例里面修改配置,后期都可以使用这个配置
image.png
baseURL:会将配置好的url和之后写的url进行拼接

image.png

withCredentials: 前后端都允许携带cookie,保持Session的一致性
image.png

状态码:
image.png

拦截器

拦截器的作用:
允许你在请求被发送或响应被处理之前,对它们进行统一的修改或处理。

  1. 统一修改请求头:在发送请求之前,你可以添加或修改请求头,例如添加认证令牌(如 JWT tokens)、CORS 头等。

  2. 统一修改请求参数:可以在发送请求前修改或添加查询参数、请求体等。

  3. 统一处理响应数据:在响应数据到达客户端之前,你可以对它们进行处理,比如数据格式化、状态码检查等。

  4. 错误处理:可以统一捕获和处理请求或响应过程中发生的错误,比如网络错误、超时、非200状态码等。

请求头中会自带一些信息:通过在请求头中添加认证令牌(如 Authorization 头),可以验证用户的身份,允许服务器识别和授权用户。

_axios.interceptors.request.use(function(config){config.headers = {Authorization:  'Bearer'}return config;},function(error){return Promise.reject(error);})

image.png

响应后做一个统一的处理

_axios.interceptors.response.use(function(config){return config},function(error){  // 这里响应后如果出现错误了可以做一个统一的处理if(error.response.status === 201){console.log('请求内容不存在')return Promise.resolve(201)}if(error.response.status === 404){console.log('请求参数不正确')return Promise.resolve(201)}})

Vue基础

Vue条件渲染

通过前端获取的数据,存储在数组中,然后通过Vue组件:v-if 条件判断

<div>  <div class="tbody">  <input type="button" value="获取远程数据" @click="get()">  </div>  <div v-if="items.length > 0">  已获取数据  </div>  <div v-else>  未获取数据  </div>  
</div>
async function get() {  const resp = await axios.get('https://jsonplaceholder.typicode.com/posts');  console.log(resp.data)  items.value = resp.data;  
}  // 创建一个响应式数组来存储数据  
const items = ref([]);

image.png

当我点击获取数据的时候,v-if会自己判断是否条件成立,如果条件成立的话,那么先显示div内容,否则不会显示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/23955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录第27天|贪心算法part1

455.分发饼干 先给孩子和饼干排序&#xff0c;每次选取一个最大的饼干给一个最大胃口的孩子&#xff0c;直到饼干分完或者遍历完孩子 class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(…

Vue3【三】 使用TS自己编写APP组件

Vue3【三】 使用TS自己编写APP组件 运行截图 目录结构 注意目录层级 文件源码 APP.vue <template><div class"app"><h1>你好世界!</h1></div> </template><script lang"ts"> export default {name:App //组…

JavaScript的核心语法

JavaScript JavaScript&#xff1a;JavaScript的组成&#xff1a;核心语法&#xff1a;Hello&#xff1a;变量&#xff1a;JS的基本数据类型&#xff1a;特殊点&#xff1a; 数组&#xff1a;流程控制语句&#xff1a;函数&#xff1a;函数的重载&#xff1a;函数的递归:预定义…

在 VSCode 中搭建 Flutter 开发环境并运行项目

要在 Visual Studio Code (VSCode) 中运行 Flutter 项目并启动虚拟机&#xff08;例如 Android Emulator&#xff09;&#xff0c;可以按照以下步骤进行设置和操作&#xff1a; 一、安装 Flutter 和 Dart 插件 安装 Flutter SDK&#xff1a; 前往 Flutter 官网 下载并安装 Flu…

离散数学答疑 3

&#xff5e;A&#xff1a;A的补集 有时候空集是元素&#xff0c;有时候就是纯粹的空集 A-B的定义&#xff1a; 笛卡尔积&#xff1a; 求等价关系&#xff1a;先求划分再一一列举 不同划分&#xff1a;分几块。一块&#xff1a;两块&#xff1a;三块&#xff1a;分别计算 Ix是…

自然语言处理(NLP)—— 主题建模

1. 主题建模的概念 主题建模&#xff08;Topic Modeling&#xff09;是一种用于发现文档集合&#xff08;语料库&#xff09;中的主题&#xff08;或称为主题、议题、概念&#xff09;的统计模型。在自然语言处理和文本挖掘领域&#xff0c;主题建模是理解和提取大量文本数据隐…

【常用工具系列】Git 教程——从入门到大师

目录 前言一、Git 基础1-1、Git 简介与安装安装 Git 1-2、 Git 工作流程1-3、 Git 配置与管理用户配置查看配置 1-4、 Git 仓库操作克隆仓库推送更改拉取更新 1-5 Git 分支管理创建分支切换分支删除分支解决冲突 二、 Git 进阶2-0、 Git 标签使用创建标签查看标签检出标签推送标…

「动态规划」如何求最小路径和?

64. 最小路径和https://leetcode.cn/problems/minimum-path-sum/description/ 给定一个包含非负整数的m x n网格grid&#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。说明&#xff1a;每次只能向下或者向右移动一步。 输入&#xff1a;…

《嵌入式系统导论》

计算题 已知位带别名基地址为0x220000000,计算位于位带区的0x200FFFFF地址的数据位7,计算它对应的位带别名区地址。 别名地址=位带别名基地址+字节偏移量x32+位号x4 别名地址=0x22000000+(0x200FFFFF -0x20000000)*32+7*4=0x220000807 分析如下基本定时器配置语句。 { ………

ctfshow-web入门-命令执行(web37-web40)

目录 1、web37 2、web38 3、web39 4、web40 命令执行&#xff0c;需要严格的过滤 1、web37 使用 php 伪协议&#xff1a; ?cphp://input post 写入我们希望执行的 php 代码&#xff1a; <?php system(tac f*);?> 拿到 flag&#xff1a;ctfshow{5c555d9a-6f55…

Mongodb数组元素更新之使用$定位数组第一个元素

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第63篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。 阅读了不少Mongodb的文章&#xff0c;也和同事交流过。Mongodb数组更新是比较难理解的地方&#x…

EXCEL多sheet添加目录跳转

EXCEL多sheet添加目录跳转 背景 excel中有几十个sheet&#xff0c;点下方左右切换sheet太耗时&#xff0c;希望可以有根据sheet名超链接跳转相应sheet&#xff0c;处理完后再跳回原sheet。 方案一 新建目录sheet&#xff0c;在A1写sheet名&#xff0c;右键选择最下方超链接…

问题:材料题请点击右侧查看材料问题 查看材料 #学习方法#经验分享#学习方法

问题&#xff1a;材料题请点击右侧查看材料问题 查看材料 A.Colleges may reduce their enrollment. B.Top universities become increasingly competitive. C.Universities become selective in student admission. D.Colleges invest less in academy and infrastructure…

Go 文件压缩解压

在Go语言中&#xff0c;archive/zip包提供了创建、读取和解压缩ZIP格式文件的功能。 一、创建ZIP文件并添加内容----压缩 package mainimport ("archive/zip""bytes""fmt""io""log""os" )func main() {// 创建一…

el-input中change事件造成的坑

el-input中change事件造成的坑 一、change事件定义二、如果仅回车时候触发 一、change事件定义 仅在输入框失去焦点或用户按下回车时触发 二、如果仅回车时候触发 <el-inputv-model.trim"questionInput"placeholder"请输入你的问题&#xff0c;按回车发送&…

智慧视觉怎么识别视频?智慧机器视觉是通过什么步骤识别视频的?

智慧视觉功能怎么识别视频&#xff1f;智慧视觉是搭载在智能设备比如手机、AI盒子、机器视觉系统上的一个应用程序或特性&#xff0c;采用计算机视觉和人工智能的技术来识别图像或视频中的内容。如果想了解视频识别&#xff0c;就要明白智慧视觉功能会涉及的以下几个关键步骤和…

pxe自动装机

概念 pxe是c/s模式。允许客户端通过网络从远程服务器&#xff08;服务端&#xff09;下载引导镜像&#xff0c;加载安装文件&#xff0c;实现自动化安装操作系统。 无人值守&#xff1a;安装选项不需要人为干预&#xff0c;可以自动化实现。 pxe的优点&#xff1a;1.规模化&…

机器人阻抗控制中的机械阻抗模型

机器人阻抗控制中的机械阻抗模型主要涉及到通过修改机器人与环境接触作业的动力学模型&#xff0c;使其等效为一个期望的阻抗&#xff08;弹簧-质量-阻尼&#xff09;模型。以下是对机械阻抗模型在机器人阻抗控制中的详细解释&#xff1a; 阻抗控制原理&#xff1a; 机器人阻抗…

Python——泰坦尼克号数据分析

目录 🧾1.数据集(部分数据) ✏️ 2、导入数据集与必要模块 ⌨️ 3.数据预处理 1️⃣ isnull函数查看有无缺失值 2️⃣fillna函数填充缺失值 📍 Age字段使用平均值填充缺失值 📍 Embarked字段填充缺失值 3️⃣ 删除缺失值较多的字段 📊 4.数据可视化 1️⃣ di…

流媒体服务器SMS-语音对讲(二)

1.简介 上篇文件介绍了流媒体与设备之间可能的交互场景&#xff0c;本文将介绍客户端或者web端与摄像头对讲的总体流程。 老规矩&#xff0c;介绍一下本人的开源流媒体&#xff0c;点个star&#xff0c;有兴趣一起开发的朋友也可以联系本人&#xff1a;https://gitee.com/inyem…