使用vue做项目如何提高代码效率

摘要:
最近,我做了两个vue项目,包括我以前做过的两个项目。我总共有四个vue项目的经验,但代码质量总体上不是很高,这体现在以下几点:1.代码没有得到有效的重用。自从使用vue作为一个项目以来,使用过程导向的习惯已经被对象导向所取代。这是一个很好的改变,使代码看起来不那么混乱,然而,这并不意味着高质量。例如,用于实现函数以验证输入是否有效的代码非常长,并且有许多重复的代码,例如:functioncheckInput{letisTrue;if(!

最近做了两个vue项目,算上之前做的两个项目,总共有四个vue项目的经验了,但是总体来说写的代码质量不是很高,体现在以下几点

1.代码没有高效的复用

  自从使用vue做项目之后,以前使用面向过程变成的习惯随之被面向对象取代了,这是一个很好的转变,让代码看起来不是那么混乱了,但是不混乱并不代表质量高,比如实现一个检验输入是否有效的功能写的代码很长,而且重复代码很多例如:

  

function checkInput(data) {
let isTrue;
if
(!data.date) { this.$message.error("请选择日期!"); return isTrue = false; return; } if(!data.url) { this.$message.error("请选择链接!"); return isTrue = false; return; } if(!data.imgUrl) { this.$message.error("请选择图片!"); return isTrue = false; return; }
return isTrue=true;
}

然后判断该函数返回的值是否为true,使用了太多的判断,现在是三个输入框还行,如果说十个输入框的话那代码就太长了,而且有很多重复的代码,这个时候就必须考虑如何将代码简化,

否则自己看着就很low,更不用说给别人看了.

分析一下代码,判断很多都是重复的,那么我们使用一个for in循环就好了,因为提示信息和输入的字段是不一样的,那么就单独提出来放入一个数组内.例如

function checkInput(data) {
  let isTrue=true;
  let count=0;
  let errorInfo = ["请选择日期","请选择链接","请选择图片"];
  for(let item in data) {
    if(!data[item]){
      alert(errorInfo[count]);
      return isTrue=false;
      break;
    }
    count++;
  }
return isTrue; }

这样子就简化了很多不必要的重复的代码.

未完待续....

免责声明:文章转载自《使用vue做项目如何提高代码效率》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇浅析vue数据绑定Android ----------------- 面试题 整理 一下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue项目接入api接口

我们在做项目时,一切基础在于数据上面,所以接入api接口是关键。 访问接口是我们会遇到跨域,而,vue-cli给我们提供了反向代理,所以我们只需要配置一下就可以了。 在config文件中找到index.js,修改dev对象里面的proxyTable如图 然后我们在同个文件夹里面打开dev.env.js这个是生产环境配置文件,我们进行修改 再打开同文件夹...

终于明白了vue使用axios发送post请求时的坑及解决原理

前言:在做项目的时候正好同事碰到了这个问题,问为什么用axios在发送请求的时候没有成功,请求不到数据,反而是报错了,下图就是报错请求本尊 vue里代码如下: this.$http.post('/getMatterList.do',{"matterIds":"1,2,3"}) .then((res)=>{ conso...

微信小程序post请求和get请求

wx.request({ url: 'https://URL', //这里''里面填写你的服务器API接口的路径 data: {}, //这里是可以填写服务器需要的参数 method: 'GET', // 声明GET请求 // header: {}, // 设置请求的 header,GET请求可以不填...

vue父子组件传参之ref

在vue中,传参的常用的就父子组件传参,兄弟组件传参。今天我们说的是父子组件传参中的一种方式$ref和ref 首先我们创建一个子组件 并给他添加一个number的值和绑定一个点击事件@click='add()',每次点击加1 Vue.component('counter', { template: `<div @click...

vue列表页进入详情页,返回列表项不刷新

功能 像搜索功能,在点击某项进入详情页,再回到搜索界面,如果不做特殊处理,初始化到原来的状态,在vue中可以使用keep-alive缓存搜索界面,达到数据不刷新的结果。 思路 在搜索路由对象的meta添加一个keepAlive属性,值为true,表示在路由切换的时候,会被缓存。这样一来搜索界面的数据不会被初始化。 缓存界面 keepAlive如果为true...

Axios 各种请求方式传递参数格式

为方便起见,为所有支持的请求方法提供了别名 在使用别名方法时, url、method、data 这些属性都不必在配置中指定 axios.request(config) axios.get(url[, config]) axios.delete(url[, config]) axios.head(url[, config]) axios.post(ur...