【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)

目录

一、项目前置知识

二、使用vscode创建

三、vue介绍

四、局部使用vue

1、快速入门

1.1 需求

1.2 准备工作

 1.3 操作

1.3.1 创建html

1.3.2 创建初始html代码

1.3.3 参照官网import  vue

1.3.4 创建vue应用实例

1.3.5 准备div

1.3.6 准备用户数据 

1.3.7 通过插值表达式渲染页面

1.3.8 保存(ctrl+s)运行

2、常用指令

2.1 v-for 遍历

 2.2 v-bind动态为html标签绑定属性值

2.3 v-if & v-show 用来控制元素的显示与隐藏

2.4 v-on为html标签绑定事件

2.5 v-model双向数据绑定

3、生命周期

4、Axios

4.1 介绍

4.2 使用步骤

4.3 别名方式

4.4 实践

4.4.1 导入后端

4.4.2 前端

5、综合案例

五、整站使用vue(工程化)

1、环境准备

2、VUE项目创建和启动

2.1 创建vue3项目

2.2 使用vscode 打开vue项目

2.3 vue项目目录结构

2.4 vue项目启动

3、vue项目开发流程

4、API风格

4.1 组合式API

5、案例

 5.1 启动后台程序

5.2 安装axios

5.3 App.vue代码

 5.4 Article.vue代码

5.5 代码优化1

5.5.1 新增api文件夹

5.5.2 新增article.js文件

5.5.3 修改Article.vue代码

5.6 代码优化2(拦截器使用)

5.6.1 新建文件夹util

 5.6.2 新建request.js文件

5.6.3 优化article.js

六、Element-plus

1、快速入门

1.1 步骤

1.2 实操

 1.2.1 创建vue3项目

1.2.2 进入项目目录安装vue依赖

1.2.3 使用vs studio打开项目

1.2.4 安装Element Plus

1.2.5 项目引用Element Plus

1.2.6 src下新建Button.vue文件

1.2.7 修改 App.vue

2、常用组件

2.1 表格组件

2.1.1 src新增Article.vue文件

2.1.2 修改App.vue

2.2 分页组件 

2.2.1 main.js修改

2.2.2 Article.vue文件导入分页组件

2.3 表单组件

2.3.1 Article.vue文件导入表单组件

2.4 卡片组件

2.4.1 Article.vue文件导入卡片组件


前言:学习vue基础知识,为项目实战铺垫

一、项目前置知识

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第1张图片

二、使用vscode创建

创建目录spring3boot3,在文件目录里cmd,输入


# 输入 
code .

打开vscode

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第2张图片

三、vue介绍

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第3张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第4张图片

四、局部使用vue

1、快速入门

1.1 需求

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第5张图片

1.2 准备工作

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第6张图片

 1.3 操作

1.3.1 创建html

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第7张图片

1.3.2 创建初始html代码

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第8张图片




    
    
    Document


    
    

1.3.3 参照官网import  vue

快速上手 | Vue.js

 【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第9张图片




    
    
    Document


    
    
    

1.3.4 创建vue应用实例




    
    
    Document


    
    
    

1.3.5 准备div



    
    
    Document


    
1.3.6 准备用户数据 



    
    
    Document


    
1.3.7 通过插值表达式渲染页面



    
    
    Document


    

{{msg}}

1.3.8 保存(ctrl+s)运行

保存 保存 保存

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第10张图片

2、常用指令

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第11张图片

2.1 v-for 遍历

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第12张图片

语法:

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第13张图片

02指令v-for.html 




    
    
    Document



    
文章标题 分类 发表时间 状态 操作
{{article.title}} {{article.category}} {{article.time}} {{article.state}}

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第14张图片 

 2.2 v-bind动态为html标签绑定属性值

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第15张图片

语法:

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第16张图片




    
    
    Document


    

    

2.3 v-if & v-show 用来控制元素的显示与隐藏

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第17张图片

语法:

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第18张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第19张图片





    
    
    Document



    
手链价格为: 9.9 19.9 29.9
手链价格为: 9.9 19.9 29.9

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第20张图片

2.4 v-on为html标签绑定事件

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第21张图片

语法:

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第22张图片




    
    
    Document


    
 

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第23张图片

2.5 v-model双向数据绑定

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第24张图片

语法:

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第25张图片





    
    
    Document



    
文章分类: {{searchConditions.category}} 发布状态: {{searchConditions.state}}

文章标题 分类 发表时间 状态 操作
{{article.title}} {{article.category}} {{article.time}} {{article.state}}

3、生命周期

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第26张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第27张图片

mounted 最频繁 

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第28张图片





    
    
    Document



    
文章分类: {{searchConditions.category}} 发布状态: {{searchConditions.state}}

文章标题 分类 发表时间 状态 操作
{{article.title}} {{article.category}} {{article.time}} {{article.state}}

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第29张图片

4、Axios

4.1 介绍

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第30张图片 【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第31张图片

4.2 使用步骤

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第32张图片

4.3 别名方式

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第33张图片

4.4 实践

4.4.1 导入后端

前面课程的存在token,不好处理

后端代码:

链接:https://pan.baidu.com/s/1H2kd77Brg8zblMj7fnMuoQ 
提取码:关注联系我,私信我,发本文链接

我下载下来pom做了一些改变,主要是springboot版本等与前面后端的课程保存一致性



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        3.1.5
         
    
    com.itheima
    axios_demo
    0.0.1-SNAPSHOT
    axios_demo
    axios_demo
    
        17
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            org.projectlombok
            lombok
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第34张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第35张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第36张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第37张图片 导入的时候卡主,注意自己的maven配置

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第38张图片

不知道跟.idea里面这个是否有关 workspace.xml,导致卡主。修改这个maven估计就好了

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第39张图片

4.4.2 前端

默认方式与别名方式





    
    
    Document



    
    
    


【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第40张图片

5、综合案例

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第41张图片





    
    
    Document



    
文章分类: 发布状态:

文章标题 分类 发表时间 状态 操作
{{article.title}} {{article.category}} {{article.time}} {{article.state}}

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第42张图片

五、整站使用vue(工程化)

1、环境准备

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第43张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第44张图片

看这个也行《nodejs》

2、VUE项目创建和启动

2.1 创建vue3项目

npm init vue@latest

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第45张图片

 【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第46张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第47张图片

 实际操作

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第48张图片

npm init vue@latest

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第49张图片

# 输入项目名称,然后全部默认

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第50张图片

# 进到项目目录
cd vue3-project

# 输入命令   安装项目vue依赖
npm install

2.2 使用vscode 打开vue项目

在项目目录输入命令code .

code .

 【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第51张图片

2.3 vue项目目录结构

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第52张图片

2.4 vue项目启动

下图有两种方式启动 1与2

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第53张图片

 【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第54张图片

3、vue项目开发流程

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第55张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第56张图片

 【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第57张图片

4、API风格

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第58张图片

4.1 组合式API

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第59张图片

 App.vue


  






Api.vue



5、案例

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第60张图片

 5.1 启动后台程序

后台程序与局部的那个案例相同

5.2 安装axios

项目目录下执行

npm install axios

5.3 App.vue代码


  






 5.4 Article.vue代码



【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第61张图片

5.5 代码优化1

问题:

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第62张图片

5.5.1 新增api文件夹

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第63张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第64张图片

5.5.2 新增article.js文件

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第65张图片

//导入axios
import axios from 'axios'; 

//定义一个变量,记录公共的前缀baseURL
const baseURL = 'http://localhost:8080'
const instance = axios.create({baseURL})

//获取所有文件的数据函数
export async function articleGetAllService(){
     //发送异步请求,获取所有文章数据
     //同步等待服务器相应的结果,并返回async,await
    //  return await axios.get('/article/getAll')
     return await instance.get('/article/getAll')
     .then(result=>{
         //把服务器相应的数据保存起来
        //  articleList.value = result.data;
        return result.data;
 
     }).catch(err=>{
         console.log(err)
     });

}


//根据文章分类和发包状态搜索的函数
export async function articleGetSearchService(conditions){
        //发送请求完成搜索
        // return await axios.get('/article/search',{params : conditions})
        return await instance.get('/article/search',{params : conditions})
        .then(result=>{
        
        // articleList.value = result.data;
        return result.data;

    }).catch(err=>{
        console.log(err)
    });
    
}
5.5.3 修改Article.vue代码


5.6 代码优化2(拦截器使用)

问题

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第66张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第67张图片 【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第68张图片

5.6.1 新建文件夹util

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第69张图片

 5.6.2 新建request.js文件
// 定制请求实例

//导入axios
import axios from 'axios'; 

//定义一个变量,记录公共的前缀baseURL
const baseURL = 'http://localhost:8080'
const instance = axios.create({baseURL})

// 添加响应拦截器
instance.interceptors.response.use(
    result=>{
        return result.data;

    },
    err=>{
        alert('服务异常')
        return Promise.reject(err);//异步的状态转化成失败的状态
    }
)

export default instance;
5.6.3 优化article.js
/*
//导入axios
import axios from 'axios'; 

//定义一个变量,记录公共的前缀baseURL
const baseURL = 'http://localhost:8080'
const instance = axios.create({baseURL}) */
import request from '@/util/request.js'

//获取所有文件的数据函数
export async function articleGetAllService(){
     //发送异步请求,获取所有文章数据
     //同步等待服务器相应的结果,并返回async,await
    //  return await axios.get('/article/getAll')
     return request.get('/article/getAll');

}


//根据文章分类和发包状态搜索的函数
export async function articleGetSearchService(conditions){
        //发送请求完成搜索
        // return await axios.get('/article/search',{params : conditions})
        return  request.get('/article/search',{params : conditions});
    
}

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第70张图片

六、Element-plus

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第71张图片

1、快速入门

1.1 步骤

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第72张图片

1.2 实操

 1.2.1 创建vue3项目
npm init vue@latest

 【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第73张图片

1.2.2 进入项目目录安装vue依赖
cd 项目目录
npm install

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第74张图片

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第75张图片

1.2.3 使用vs studio打开项目
code .

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第76张图片

1.2.4 安装Element Plus
npm install element-plus --save

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第77张图片

1.2.5 项目引用Element Plus

复制替换main.js文件内容

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第78张图片

// main.ts
import { createApp } from 'vue'  //导入vue
import ElementPlus from 'element-plus'  //导入element-plus
import 'element-plus/dist/index.css'  //导入element-plus的样式
import App from './App.vue'  //导入app.vue

const app = createApp(App)  //创建应用实例

app.use(ElementPlus) //使用element-plus
app.mount('#app')  //控制html元素
1.2.6 src下新建Button.vue文件

  

  
  
1.2.7 修改 App.vue



# 启动项目
npm run dev

 【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第79张图片

优化代码





【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第80张图片

2、常用组件

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第81张图片

2.1 表格组件

2.1.1 src新增Article.vue文件


  

  
2.1.2 修改App.vue



【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第82张图片

2.2 分页组件 

2.2.1 main.js修改

支持分页控件中文显示

// main.ts
import { createApp } from 'vue'  //导入vue
import ElementPlus from 'element-plus'  //导入element-plus
import 'element-plus/dist/index.css'  //导入element-plus的样式
import App from './App.vue'  //导入app.vue
import locale from 'element-plus/dist/locale/zh-cn.js'  //调整分页控件中文显示

const app = createApp(App)  //创建应用实例

app.use(ElementPlus,{locale}) //使用element-plus
app.mount('#app')  //控制html元素
2.2.2 Article.vue文件导入分页组件




  

  

2.3 表单组件

这里使用的是行内表单

2.3.1 Article.vue文件导入表单组件




  

  

2.4 卡片组件

2.4.1 Article.vue文件导入卡片组件

导入卡片组件,将之前的组件放放在卡片组件内





  

  

【SpringBoot3+Vue3】四【基础篇】-前端(vue基础)_第83张图片

你可能感兴趣的:(java,vue.js,前端,javascript)