首页 > 其他分享 >VUe-数组get传递

VUe-数组get传递

时间:2023-04-21 21:11:39浏览次数:32  
标签:arr vue get VUe 取整 数组 Math


vue中get方法如何传递数组参数

直接放在对象中传递数组

 

export function getCrApplicationList(data) {
  var test = ['111', '222']
  return request({
    url: '/applicant/CrApplication/List',
    method: 'get',
    params: { test }
  })
}

 

 

传递的参数格式如下:

 

 

但是这样的话后台是取不到值的,我们需要把数组变成如下这种格式:

test:111
test:222

 

首先找到axios.js,加如下代码:

if (config.method === 'get') {
    // 如果是get请求,且params是数组类型如arr=[1,2],则转换成arr=1&arr=2
    config.paramsSerializer = function(params) {
      return qs.stringify(params, { arrayFormat: 'repeat' })
    }
  }

如果get请求中参数是数组格式,则数组里每一项的属性名重复使用。

 

效果如下:

 

 

 

url如果使用get方式传递数组。只需传入多个同名参数即可

eg:

 https://test.net/do.action?paramA=valArr1&paramA=valArr2&paramsB=valB

此时paramA在后台即可使用数组方式接收

————————————————
 

 

 

vue使用new Set去重

 

const arr=new Set()

ThisList.forEach((item, index) => {
          if(item&&item.id>0){
            arr.add(item.id)
          }
        })

 this.idNames=''
this.idNames=Array.from(arr).join(',')

 

一下方法是点击获取值然后添加到数组中并去重:

handleNodeClick(data) {
            if (data.flg == true && this.zhishi.length < 5) {
                this.zhishi.push(data.label);
              //这里new Set是去重的 但是去重之后是个假数组 需要使用Array.from转换为真数组
                this.zhishi=Array.from(new Set(this.zhishi));
            } else if (data.flg == true && this.zhishi.length >= 5) {
                this.$message({
                    message: '抱歉 只允许添加5条',
                    type: 'warning'
                });
            }
        },

 

 

vue 字符串、数组之间的相互转换

 
1、字符串转数组

 

str.split(';'); //以分号拆分字符串

 

2、数组转字符串

 

arr.join(';'); //把数组项拼接成字符串,并以分号隔开。默认情况下是以逗号隔开
————————————————
 

 

 

 

vue关于数字的处理(四舍五入,向上取整,向下取整。。)

(38.89768).toFixed(2)

 

Number(parseFloat(34.3232))

截取小数点后面的两位,四舍五入。

 
关于数字的处理(四舍五入,向上取整,向下取整。。)

在vue项目中可以新建一个filter.js的文件 在文件中将这些过滤全部写进去,再在页面进行引用

1、时分秒的显示
格式 00:00:00

export const timeFilter = val => {
 function p(t) {
 return t < 10 ? ‘0’ + t: t;
 }
 var h = Math.floor(val/1000/60/60);
 var m = Math.floor(val/1000/60%60);
 var s = Math.floor(val/1000%60);
 var str = p(h) + ‘:’ + p(m) + ‘:’ + p(s);
 return str
 }


使用:

{{timeFilter(fileInfo.needTime) || ‘’}}
2、向下取整的函数
Math.floor();
例如:Math.floor( 23.2222222); // 23

3、向上取整
Math.ceil();
例如: Math.ceil(23.333333); // 24

4、四舍五入
Math.round();
例如:Math.round(23.33333); // 23

5、四舍五入取n位小数,运算后得到的是字符串
().toFixed(n); // 取小数点后n位
例如:(36.36498524).toFixed(3); // 36.365

ps:虽然写的是vue,但是不仅仅vue中可以使用哦 

标签:arr,vue,get,VUe,取整,数组,Math
From: https://blog.51cto.com/u_16082902/6214171

相关文章

  • vuejs四舍五入、字符串、数组、Set去重
     url如果使用get方式传递数组。只需传入多个同名参数即可eg: https://test.net/do.action?paramA=valArr1&paramA=valArr2&paramsB=valB此时paramA在后台即可使用数组方式接收————————————————   vue使用newSet去重 constarr=newSet()ThisList.forEach......
  • vue组件
    vue组件实际上就是自定义标签组件是vue可重复使用的实例也就是说,当你定义好一个组件之后,你可以将其当做一个html的标签使用<divid="app"><br><qinjiang></qinjiang><br></div><divid="buttonnew"><newbutton></newbutton>......
  • vue-router解决警告:No match found for location with path "XXXXXXX"
      使用vue-router时,在刷新页面时往往会出现这个警告:    这个问题产生的原因往往是因为vue在启动时,会校验当前页面的路由,而我们使用vue-router时,是在导航守卫中动态添加路由的,因此肯定找不到,而这个时候还没进入守卫,自然就会抛出这个警告了:  1、app.use(router)......
  • 53. 最大子数组和
    给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。>解法一(贪心)classSolution{public:intmax......
  • Vue:表单双绑、组件
    vue一大精髓就是双向绑定vue.js是一个mvvm框架,即数据的双向绑定,即当数据发生变化时的时候,视图也就发生变化,当视图发生变化时,数据也会同步变化双向绑定是对于UI控件来说的,非UI控件不会涉及到数据的双向绑定以input标签举例<divid="app">输入的文本:<inputtype="text"v-......
  • WebStorm 2023.1 vue文件标签中变量无法识别 Unresolved variable or type
    从老版本WebStorm升级到 WebStorm2023.1之后,打开项目莫名爆红 可能是查询的不对,很多博客指明是依赖的问题,实际修改无效问题出在文件类型指向不对修改为: 问题解决 ......
  • Vite + Vue3 +TS 项目搭建
    安装nvm略安装node略使用Vite创建项目vite3.x文档:https://cn.vitejs.dev/guide/#scaffolding-your-first-vite-project使用NPM:$npmcreatevite@latest使用Yarn:$yarncreatevite使用PNPM:$pnpmcreatevite然后直接进入项目初始化的选择,自定义一些......
  • centos没有vi命令 或者apt-get update很慢问题
    apt-getupdate很慢问题1.打开终端,进入目录:cd/etc/apt2.备份一下原来的source文件:mvsources.listsources.list.bak3.修改source.list文件,清空里面的内容,并复制以下内容进去:因为没有vi命令echo"debhttp://mirrors.aliyun.com/ubuntu/bionicmainrestrictedunive......
  • VUE上传图片
    1<!--2气味照相机,上传图片3-->4<template>5<divclass="main_container">6<divclass="bgimg_box":style="'background-image:url('+bgImg+');'">7<d......
  • bug|初始化项目|sass-loader报错:TypeError: this.getResolve is not a function at Ob
    Modulebuildfailed:TypeError:this.getResolveisnotafunctionatObject.loader的解决npmuninstallsass-loader(卸载当前版本)[email protected]......