vue开发过程中常见问题

一直做后端工作,近期由于工作需要写vue,作为vue小白,记录使用过程中遇到的问题?

  • el-button点击后不失去焦点(按钮颜色不变)的解决
clickHandler(evt) {
    let target = evt.target;
    if(target.nodeName === "SPAN") {
        target = evt.target.parentNode;
    }
    target.blur();
}

原因:
下图为el-button的结构:

<el-button
    plain
    type="primary"
    size="mini"
    @click="test($event, row)"
>
    点击
</el-button>

点击button的时候,如果点击到文字(即span)上,这个时候evt.target是span标签,这个时候是没法直接触发其父节点button的blur方法的,也就没法强制button失去焦点。所以需要判断点击的是span还是button。

  • vue下载资源:需求是已有下载链接,把内容下载到本地
// 本窗口打开下载
window.location.href = urls;
 // 新开窗口下载 
window.open(urls, '_blank');
  • vue中axios来发送get、post消息时,遇到的问题
    使用vue一定会发送消息,我在使用过程中发现了一个很疑惑的问题,下面举例说一下:
    get方式
// request是一个axios对象
// 这里params {"id": 1}
return request.get(
         'http://localhost:8080/test',
        {
            params,
        }
    );
    
这里使用@RequestParam接收即可

post方式

// 这里params是一个对象
return request.post(
         'http://localhost:8080/test',  params
    );
    
接收使用@RequestBody可

注意:post的方式不用加{},加上之后反而@RequestBody不能识别;而对于get不加{},也是可以的,不过最好加上。
get不常用方式

// 这里params是一个对象
return request.get(
       'http://localhost:8080/test',
        {
            params,
        }
    );
后端使用对应类接收即可,跟post的方式一样,只是不需要加@RequestBody注解。

post指定Content-Type等配置

return request.post(  'http://localhost:8080/test', params, {
        headers: {
            'Content-Type': 'multipart/form-data',
        },
    });

记录vue使用过程中,遇到的问题,持续更新中。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值