vue3登陆注册功能实现,问题记录

目录

一、vue2升级vue3版本差异

1、依赖包 vue-template-compiler

2、native 修饰符的移除

3、插槽用法的变化

 二、前端请求

前置条件:安装依赖

1、跨域

2、GET,POST请求入参格式区别

三、遇到的问题

1、路由跳转

2、界面渲染问题

3、控制台输出数据集

4、vue组件使用iframe标签嵌入html,界面渲染多次

四、jwt实现token鉴权

五、后端问题记录


一、vue2升级vue3版本差异

1、依赖包 vue-template-compiler

vue-template-compiler 是 Vue.js 2.x 版本中用于将 Vue 的模板编译成 JavaScript 渲染函数的包

在 Vue 3 中,编译器的功能已经被集成到了主要的 Vue 包中,所以如果你正在使用 Vue 3,你不需要单独安装 vue-template-compiler

2、native 修饰符的移除

3、插槽用法的变化

Vue 2.6.0+ 中,引入了 v-slot 指令来替代 slot 属性和 slot-scope 属性。虽然 Vue 3 仍然支持旧的 slot 语法,但推荐使用新的 v-slot 语法。因此,你可以将 <i slot="suffix" ...> 更改为 <template v-slot:suffix><i ...></i></template>

 二、前端请求

前置条件:安装依赖

网络请求:axios npm install axios 

路由管理:npm install vue-router@4

1、跨域

参考链接:Spring Security环境中的跨域问题_springsecurity解决跨域问题-优快云博客

2、GET,POST请求入参格式区别

 get请求用params参数传参

对于GET请求,通常应该将参数作为URL的一部分来传递,这可以通过将参数添加到params对象中实现。params对象中的参数将会被axios库自动转换为URL查询字符串

 http({
          method: "GET",
          url: "/sys/login",
          params: { username: this.username, password: this.password },
         
        })

post 请求用data传参

对于POST、PUT等请求,通常应该将参数放在请求体中传递,这可以通过将参数添加到data对象中实现。data对象中的参数将会被axios库自动转换为请求体,并且默认情况下会使用JSON格式进行编码。

try {
        const response = http({
          method: "POST",
          url: "/sys/user/register",
          data: {
            username: this.username,
            password: this.password,
          },
        })

三、遇到的问题

1、路由跳转

地址栏变化,界面没有刷新

解决办法:添加<router-view />

2、界面渲染问题

使用<router-view />标签后界面渲染两次

原因:在路由配置时把默认的“/”设置跳转到 APP组件,

const routes = [
  // { path: '/', component: App, }, //删除即可
  { path: '/login', component: Login, },
]

3、控制台输出数据集

错误: console.log("data:" + response.data);

正确: console.log("data:" , response.data);

原因:用“+”号链接会抢强转为字符串

4、vue组件使用iframe标签嵌入html,界面渲染多次

尝试了很多次,才找到问题。iframe标签的src路径存在问题 

名称路径
vue组件vue3-codechrono\src\App.vue
嵌入的htmlvue3-codechrono\public\json\jsonformatter.html
 <iframe :src="iframeSrc" width="100%" height="720px" frameborder="0" scrolling="no" />  

export default {
  data() {
    return {
      showSearch: false,
      //正确
      iframeSrc:'./json/jsonformatter.html'
      //错误:
      //实际位置,鼠标点击能够跳转html代码界面,但是无法识别
      // iframeSrc: '../public/json/jsonformatter.html' 
    };
  },
}

四、jwt实现token鉴权

五、后端问题记录

springboot登陆注册功能

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值