vue3 基于 vant 组件二次封装 attribute/inheritAttrs 使用

7 篇文章 0 订阅

基于 vant button 二次封装

<template>
  <div>
    <slot>
      <van-button type="primary" size="large"></van-button>
    </slot>
  </div>
</template>

<Button round></Button>

想要 button 原来的属性 v-bind=“$attrs”

<template>
  <div>
    <slot>
      <van-button v-bind="$attrs" type="primary" size="large"></van-button>
    </slot>
  </div>
</template>

<Button round @click="handleBtn"></Button>

你会发现 handleBtn 会调用两遍 inheritAttrs : false
如果你不希望组件的根元素继承 attribute,可以在组件的选项中设置 inheritAttrs: false。

<script>
export default {
	inheritAttrs : false
}
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以参考以下步骤: 1. 首先安装 axios 和 qs(如果需要) 2. 在 main.js 中引入 axios 并进行二次封装: ``` import axios from 'axios' import qs from 'qs' axios.defaults.baseURL = 'http://api.xxx.com' // 设置接口基地址 axios.defaults.timeout = 10000 // 设置超时时间 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' // 设置默认请求头 axios.interceptors.request.use(config => { // 在请求发送之前做一些处理 config.headers.token = localStorage.getItem('token') || '' return config }, error => { // 出错处理 return Promise.reject(error) }) axios.interceptors.response.use(response => { // 在响应成功处理之前做一些处理 return response }, error => { // 响应错误处理 return Promise.reject(error) }) function get (url, params) { return new Promise((resolve, reject) => { axios.get(url, { params }).then(res => { resolve(res.data) }).catch(err => { reject(err.data) }) }) } function post (url, data) { return new Promise((resolve, reject) => { axios.post(url, qs.stringify(data)).then(res => { resolve(res.data) }).catch(err => { reject(err.data) }) }) } export default { get, post } ``` 3. 在组件使用二次封装后的 axios: ``` import request from '@/utils/request' methods: { getData () { request.get('/api/getData', { id: '123456' }).then(res => { console.log(res) }).catch(err => { console.log(err) }) } } ``` 以上是对于vue3 + vant + ts 配置axios的二次封装的一种实现,仅供参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值