Vue与Element走过的坑。。。。带上Axios

1.Axios中post传参数组(java后端接收数组)

虽然源数据本身就是数组,但是传参时会自动变成key:数值或者服务器无法接收的对象,如下

如果不仔细看,很容易认为这两种情况没毛病。。(后端不背锅,哈哈)

第一种方式转化为数组:JSON.stringify
_this.item.push(row.id);//此处_this.item是数组
const params = new URLSearchParams();
params.append("item",JSON.stringify( _this.item));

第二种方式:此处贴上代码(解释不喜勿喷)
transformRequest: function (data) {
data = qs.stringify({
item: JSON.stringify(_this.item)
});
return data
}

 

最后真正传参的格式:

2.Element篇

1.el-table实现单击行且高亮执行赋值

css别忘了。。。。

2.el-table实现表头居中且内容居中

3.el-cascader获取点击的各级数据

val==》要接收的空数组(绑定的数据)opt==》需要遍历数据源

配合@change使用:

就能实时获取想要的数据。。。。。至于如何清空,直接将v-model绑定的数据清空即可。。。

4.el-menu动态生成(递归)

a.准备树形数据源(字段按个人需求,这里给出楼主的思路)

b.实现el-menu里包含的el-submenu(个人是直接抽取出来,通过props赋值)

index有个坑,,好像得变成字符串,所以加上“”,其实本来就是字符串。。。。这里使用得是递归思想生成dom

c:el-menu中使用

准备好第一步得数据源即可。。。。

5:el-table中使用el-switch(附带此时事件方法)

 

这里绑定数字得前面加上  :。。

 6.树形表格,网上找了好多个人封装的,总是有些bug和其它问题,最后想到了vue版的Easyui,果然还是Easyui处理数据强大。。直接上图展示

此处数据源也是树形数据,采用递归完成,前面的图标是通过修改源码新增的几个。。

 7.css问题

关于每个.vue中css,之前一直采用scope,,,但是打包之后发现失效了,,最后采用lang=scss方式,需要npm下载。。,最外层样式就是每个模板的顶级class括起来,这样也就避免了css全局污染啥的。。。。

8.跨域问题解决。。。

配置之后的请求缩写。。

配置config中index即可。。。但是产生了打包之后不存在跨域,,,,(难道打包之前把一个个请求的url修改。。。。那会封吧)

解决方案:

1.配置config中dev.env.js文件

这里/api就是开发环境刚刚代理跨域的地址

2.配置config中prod.env.js文件

这里配置一个相对路径,就能自由切换各种环境。。。。

 3.设置请求时的路径,这里使用axios

这里没封装,简单的写一下。。。。主要第一行和第四行

此时请求的写法:

 

api没了,,此时就配好了开发时跨域请求和打包之后的不跨域,,,webpack打包时会自动切换。。。

 

暂时就这么多,好多碰到的问题暂时没想起来。。。。。。不喜勿喷(才刚刚接触一个月的vue)。。

 

2018-10-15 16:00

闹了一个乌龙。。。上次把页面定制了一下,引用的是别人封装的,结果每篇文章都带有他的签名。。。。醉了。。已修复。。

欢迎进群学习交流(927465926) Full Stack engineer

 

 

转载于:https://www.cnblogs.com/wtzl/p/9791398.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vue-element-admin中,可以使用axios进行转发设置。axios是一个基于Promise的HTTP客户端,用于浏览器和Node.js。它可以将请求发送到后端服务器并接收响应数据。 要设置axios的转发,你可以按照以下步骤进行操作: 1. 打开项目目录下的`src/utils/request.js`文件。这是封装了axios的请求方法的文件。 2. 在该文件中找到`createRequest`函数,在函数体内找到`service`对象。 3. `service`对象是一个axios实例,你可以通过该实例来设置转发。例如,可以使用`service.interceptors.request.use()`方法来添加请求拦截器,使用`service.interceptors.response.use()`方法来添加响应拦截器。 4. 在请求拦截器中,你可以对请求进行一些处理,例如添加请求头、设置token等。 5. 在响应拦截器中,你可以对响应进行一些处理,例如对错误进行统一处理、对返回数据进行格式化等。 6. 另外,你还可以在`src/api`文件夹中的每个API接口文件中,根据需要使用axios进行转发设置。 总结起来,要在vue-element-admin项目中设置axios的转发,你需要找到`src/utils/request.js`文件,并根据需要使用`service.interceptors.request.use()`和`service.interceptors.response.use()`方法进行拦截器的设置。这样可以对请求和响应进行统一处理和转发。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue-element-admin:vue-element-admin](https://download.csdn.net/download/weixin_42168745/16228234)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vue-element-admin-template](https://download.csdn.net/download/weixin_42142062/15991791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [浏览器显示数据库中数据的条形图柱状图 前后端分离vue.js+spring boot 计算机软件工程课程设计毕业设计 ...](https://download.csdn.net/download/Amzmks/88275824)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值