Vue框架学习记录

概览

前置知识

在这里插入图片描述
在这里插入图片描述

准备工作

安装环境准备

#安装node.js
#安装npm
#安装vue cli

在这里插入图片描述

基于脚手架创建前端工程

在这里插入图片描述

方式一

#创建一个保存vue项目的目录,如vue_project
#在vue_project下进入cmd
vue create vue-demo-1

在这里插入图片描述

方式二

#在cmd下输入
vue ui

在这里插入图片描述

选择vue2

在这里插入图片描述

#成功之后的界面

在这里插入图片描述

#打开浏览器,选择界面的左上角vue-project
#跟着上面做的,应该是vue-demo-1
#点击红色选中的Vue项目管理器

在这里插入图片描述

#第一个红色框选中的是存放vue项目的总合集
#选择你自己创建的项目合集即可
#点击第二个红色框“在此创建项目”

在这里插入图片描述

#项目文件夹,如vue-demo-2
#包管理器 npm
#GIt 勾选上
#点击下一步

在这里插入图片描述
#选中Vue2
#创建项目
在这里插入图片描述

#可查看项目依赖和配置

在这里插入图片描述

项目结构解析

在这里插入图片描述

启动前端项目

#在当前项目路径下npm run serve
#命令行和VsCode的终端都行

在这里插入图片描述

#npm run serve的"serve"取决于package.json的scripts下的配置
#如下面红色框所示

在这里插入图片描述

更改前端端口

#在vue.config.js里添加
devServer: {port: 7070
}
#更改后重启,因为.js文件需要重新加载

在这里插入图片描述

vue基本使用方式

在这里插入图片描述

vue组件

在这里插入图片描述

文本插值

data属性
{{}}

在这里插入图片描述

属性绑定

data属性
v-bind:xxx or :xxx

在这里插入图片描述

事件绑定

methods方法
v-on:xxx or @xxx

在这里插入图片描述

双向绑定

data和methonds一同使用,一般用在表单,如登录界面
v-model(用在data)
其他的调用methods

在这里插入图片描述

条件渲染

一般在标签里,如div
v-if v-else-if v-else

在这里插入图片描述

axios

#axios一般用于异步调用

在这里插入图片描述

安装
#在终端里安装axios
npm install axios
#安装完成后可以区到package.json里的dependencies里查看axios项

在这里插入图片描述

api列表

在这里插入图片描述

配置代理
#不配置代理的话,访问后端路径会出现跨域问题
#在vue.config.js中配置代理
proxy里,'/api/'替换成target部分,'^/api/'代表之前的都是空

在这里插入图片描述

Post、Get
#Post
#then(res => xxx)表示调用成功后执行...
#.catch(error => xxx)表示出错后执行...#Get
#一般会携带jwt的token

在这里插入图片描述

统一使用方式

在这里插入图片描述

小结

在这里插入图片描述

Vue-Router

vue-router介绍

在这里插入图片描述
在这里插入图片描述

创建vue-router-demo项目
#跟前面创建的差不多,这里做贴图演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

路由介绍

在这里插入图片描述
在这里插入图片描述

路由表编写位置

在这里插入图片描述

路由表页面入口位置

在这里插入图片描述

路由跳转方式
#标签式:红色
#编程式:蓝色

在这里插入图片描述

404 not found时如何处理
#vue对404没有处理,需要自己手动处理
#在views下编写一个404View.vue<div class="about"><h1>请求路径不存在</h1></div>
</template>
#然后在路由表编写位置加上即可

在这里插入图片描述

路由介绍和配置小结

在这里插入图片描述

嵌套路由(子路由)
介绍和实现步骤

在这里插入图片描述
在这里插入图片描述

第一步
安装element组件

element官网链接: link

在这里插入图片描述

#复制安装代码到终端运行
npm i element-ui -S

在这里插入图片描述

#找到"快速上手"
#需要在main.js中导入右边标红的三项
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

在这里插入图片描述

创建container布局
#在views下创建container布局
#再创建ContainerView.vue

在这里插入图片描述

#在element官网找"Container布局容器
#复制右边标红的代码,放到ContainerView.vue的<template>里边

在这里插入图片描述

#再把下边<style>里的css代码,放到ContainerView.vue的<style>里边

在这里插入图片描述

#npm run serve后结果如图所示

在这里插入图片描述

第二步
创建子视图
#在views/container下创建子视图P1View.vue,P2View.vue,P3View.vue
#将P1View.vue,P2View.vue,P3View.vue的<template>里改成
<template><div>这是P1/2/3View</div>
</template>

在这里插入图片描述

第三步
嵌套路由配置
#在ContainerView.vue下配个子路由children,情况如图示

在这里插入图片描述

第四步
在布局容器视图中添加<router-view>,实现子视图组件展示
#在ContainerView.vue的<elmain>里添加<router-view>

在这里插入图片描述

第五步
在布局容器视图中添加<router-link>,实现路由请求
#添加
<router-link to="/c/p1">P1</router-link><br>
<router-link to="/c/p2">P2</router-link><br>
<router-link to="/c/p3">P3</router-link><br>

在这里插入图片描述

嵌套路由-小结
#在布局容器视图中的路由配置里价格重定向redirect
#保证以/c进入也有数据
redirect: '/c/p1'

在这里插入图片描述

Vuex

介绍

在这里插入图片描述
在这里插入图片描述

创建vuex的脚手架工程

#跟前面的操作差不多,这里的选择换成Vuex

在这里插入图片描述

使用方式

state共享数据
#在vuex框架的state里填写变量name
#在App.vue里用{{$store.state.name}}调用,与文本插值{{}}类似

在这里插入图片描述

mutation数据同步函数
#先在store/index.js里添加mutation函数setName方法

在这里插入图片描述

#通常是用v-on:/@绑定其他方法来修改数据
#修改时this.$store.commit(para1,para2)是固定模板
#para1是mutation里定义的函数名,para2是要放入的形参

在这里插入图片描述

actions 异步
#通过actions调用到mutations,在actions中可以进行异步操作
#先安装axios,终端输入
npm install axios

在这里插入图片描述

#先调用post
#再调用mutation的setName函数
#context上下文

在这里插入图片描述

#调用后端url需要代理
#顺便设置端口

在这里插入图片描述

#调用模板this.$store.dispatch(mutations的函数)
this.$store.dispatch('setNameByAxios')

在这里插入图片描述

vuex小结

在这里插入图片描述

TypeScript

介绍

在这里插入图片描述

#全局安装typescript
npm install -g typescript
#查看ts版本
tsc -v

在这里插入图片描述
在这里插入图片描述

hello.ts入门程序

#ts编译时就会检查,hello(123)->string就会报错
//hello.ts
//通过ts代码,指定函数的参数类型为string
function hello(msg:string){console.log(msg)
}//传入的参数类型为number
//hello(123)
hello('123')

在这里插入图片描述

TS与JS的比较

在这里插入图片描述

TS的理解

在这里插入图片描述

创建vue-ts-demo项目

#老样子,修改一些,其他与前面无差

在这里插入图片描述
在这里插入图片描述

#创建完成后,vscode打开项目即可

常用类型

在这里插入图片描述

类型标注位置

在这里插入图片描述

常用类型代码演示
字符串、数字、布尔

在这里插入图片描述

字面量

在这里插入图片描述

interface类型

在这里插入图片描述

class类,与java类似

在这里插入图片描述

实现类implements

在这里插入图片描述

继承extends

在这里插入图片描述

小结

在这里插入图片描述

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

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

相关文章

[oeasy]python0015_键盘改造_将esc和capslock对调_hjkl_移动_双手正位

键盘改造 &#x1f94b; 回忆上次内容 上次练习了复制粘贴 按键 作用 <kbd>y</kbd><kbd>y</kbd> 复制光标行代码 到剪贴板 <kbd>p</kbd> 粘贴剪贴板中的内容 <kbd>i</kbd> 切换到 插入模式 <kbd>h</kbd>…

DC-DC电路中电感的下方该不该挖空

DC-DC电路中的电感下方该不该挖空&#xff1f; 在回答这个问题之前&#xff0c;先来了解一下DC-DC电路中常见的功率电感类型 一&#xff0e;DC-DC电路常用功率电感类型 图1 DC-DC电路常用电感类型 这四种类型电感&#xff0c;按照无屏蔽电感→磁封胶半屏蔽电感→组装式全屏蔽…

DDM-MIMO-FMCW雷达MATLAB仿真

本文在前期TDM和BPM体制的基础上&#xff0c;仿真DDM体制下的调制解调和信号处理测距、测速、测角流程。 TDM和BPM相关可以看这两篇博文TDM(BPM)-MIMO-FMCW雷达仿真-CSDN博客&#xff0c;确定性最大似然&#xff08;DML&#xff09;估计测角-CSDN博客TDM(BPM)-MIMO-FMCW雷达仿真…

Gartner发布应对动荡、复杂和模糊世界的威胁形势指南:当前需要应对的12种不稳定性、不确定性、复杂和模糊的安全威胁

当今世界是动荡&#xff08;Volatile&#xff09;、复杂&#xff08;Complex&#xff09;和模糊&#xff08;Ambiguous&#xff09;的&#xff0c;随着组织追求数字化转型以及犯罪分子不断发展技术&#xff0c;由此产生的安全威胁也是波动性、不确定性、复杂性和模糊性的&#…

【LeetCode刷题记录】简单篇-108-将有序数组转换为二叉搜索树

【题目描述】 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 【测试用例】 示例1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,…

【功耗问题排查】

一、如何处理具体功耗case 在手机功耗测试中&#xff0c;因为我们在功耗测试中&#xff08;电源电压&#xff09;为固定值&#xff08;老手机一般为3.8V左右&#xff0c;现在的大多项目采用4V左右&#xff09;&#xff0c;那么的大小直接由决定&#xff0c;所以&#xff0c;在沟…

webassembly入门详解(C++)

一、环境配置 环境说明,操作系统为window操作系统。 1.1 下载和安装python 下载 需要python版本至少3.6版本 python下载地址:https://www.python.org/getit/ 安装 检测安装结果 win+R组合键->cmd->输入python->回车 1.2 下载和安装emsdk 下载 下载地址:https://gi…

vs2019 - 替换vs2019自带的cmake

文章目录 vs2019 - 替换vs2019自带的cmake概述笔记启动vs2019本地x64命令行的脚本查看vs2019自带的cmake的位置删掉旧版cmake将新版cmake的安装目录内容替换过来。查看vs2019本地x64命令行中的cmake版本配置为vs2019x64工程END vs2019 - 替换vs2019自带的cmake 概述 在看一个…

项目启动后 数据库表结构会被自动修改 删除字段

问题还原 我这表是有warehouse_code这个字段的 然后我启动项目后&#xff0c;发现这个字段被删除了 解决办法 看你的配置中是否有下面的配置 把这个配置删除就行了&#xff0c;这配置是根据Java实体来来创建修改数据库结构的

LINUX 入门 4

LINUX 入门 4 day6 7 20240429 20240504 耗时&#xff1a;240min 课程链接地址 第4章 LINUX环境编程——实现线程池 C基础 第3节 #define里面的行不能乱空行&#xff0c;要换行就打\ typedef 是 C 和 C 中的一个关键字&#xff0c;用于为已有的数据类型定义一个新的名字。…

SpringBoot 自定义 HandlerMethodArgumentResolver 搞定xml泛型参数解析

文章目录 介绍一、解析简单 xml 数据案例引入 Jackson 的 xml 支持定义 Message 对象&MessageHeader 对象定义 Controller 方法调用结果 二、解析带泛型的 XML 数据案例2.1 直接给 Message 加上泛型 T2.2 无法直接解析泛型参数了 三、自定义 MVC 的参数解析器实现泛型参数解…

OCR文本识别模型CRNN

CRNN网络结构 论文地址&#xff1a;https://arxiv.org/pdf/1507.05717 参考&#xff1a;https://blog.csdn.net/xiaosongshine/article/details/112198145 git:https://github.com/shuyeah2356/crnn.pytorch CRNN文本识别实现端到端的不定长文本识别。 CRNN网络把包含三部分&…

两个手机在一起ip地址一样吗?两个手机是不是两个ip地址

在数字时代的浩瀚海洋中&#xff0c;手机已经成为我们生活中不可或缺的一部分。随着移动互联网的飞速发展&#xff0c;IP地址成为了连接手机与互联网的桥梁。那么&#xff0c;两个手机在一起IP地址一样吗&#xff1f;两个手机是不是两个IP地址&#xff1f;本文将带您一探究竟&a…

微火全域外卖系统是什么?为什么市场占有率这么高?

近日&#xff0c;全域外卖领域又出现了新变动&#xff0c;一个名为微火的品牌凭借着其全域外卖系统&#xff0c;在短短几个月的时间里&#xff0c;就占领了大部分市场。截止发稿日期前&#xff0c;微火全域外卖系统的市场占有率已经超过48%。 据了解&#xff0c;所谓的全域外卖…

微信小程序之搜索框样式(带源码)

一、效果图&#xff1a; 点击搜索框&#xff0c;“请输入搜索内容消失”&#xff0c;可输入关键字 二、代码&#xff1a; 2.1、WXML代码&#xff1a; <!--搜索框部分--><view class"search"><view class"search-btn">&#x1f50d;&l…

数据库复习2

试述SQL的特点 有两个关系 S(A,B,C, D)和 T(C,D,E,F)&#xff0c;写出与下列查询等价的 SQL 表达式: 用SQL语句建立第2章习题6中的4个表&#xff1b;针对建立的4个表用SQL完成第2章习题6中的查询 针对习题4中的4个表试用SQL完成以下各项操作 (1)找出所有供应商的姓名和所在城市…

[图解]SysML和EA建模住宅安全系统-02

1 00:00:00,900 --> 00:00:02,690 这个就是一个块定义图了 2 00:00:03,790 --> 00:00:04,780 简称BDD 3 00:00:05,610 --> 00:00:08,070 实际上就是UML里面的类图 4 00:00:08,080 --> 00:00:09,950 和组件图的一个结合体 5 00:00:13,150 --> 00:00:14,690 我…

WDW-10B微机控制电子万能试验机技术方案

一&#xff0e;设备外观照片&#xff1a; 项目简介&#xff1a; 微机控制电子式万能试验机是专门针对高等院校、各种金属、非金属科研厂家及国家级质检单位而设计的高端微机控制电子式万能试验机、计算机系统通过全数字控制器&#xff0c;经调速系统控制伺服电机转动&#xff…

MT3033 新的表达式

代码&#xff1a; #include <bits/stdc.h> using namespace std; bool is_op(char c) {return c & || c |; } int priority(char op) { // 运算优先级。如果有-*/等别的运算符&#xff0c;则这个函数很有必要if (op & || op |){return 1;}return -1; } voi…

数据链路层(详细版)【01】

数据链路层是在物理层和网络层之间的协议&#xff0c;提供相邻节点的可靠数据传输 一、从体系结构来看数据链路层 数据链路层是为上下两层提供服务或者上下两层向他传送数据&#xff08;服务【垂直】&#xff09;&#xff1b;与其对等层之间用帧进行通信&#xff08;协议【水平…