vue常见问题

一:运行后报错“Do not use 'new' for side effects

构建项目时,用了 ESLint” 工具检查代码质量。命令行报错“Do not use ‘new’ for side effects“,main.js里的原代码是这样的:

new Vue({
  router,
  el: "#app",
  render: h => h(App)
})

这段代码不使用ESLint检查运行是没有问题的,使用了ESLint要改成如下的两种形式之一:

方式一:

let vm = new Vue({
  router,
  el: '#app',
  render: h => h(App)
})

Vue.use({
  vm
})

方式二:

添加注释 =》/* eslint-disable no-new */ ,它的作用是:完全禁用ESLint检测,eslint的常用技巧之一。

 

/* eslint-disable no-new */                 new Vue({  router,  el: "#app",  render: h=> h(App)})                                                                        

选用任意一种方式运行,都OK。 

 

二:vue中慎用style的scoped属性

 

<style lang="less" scoped>

@import "../../assets/less/normalize.less";

@import "../../assets/less/base.less";

</style>

        在vue组件中,在style标签上添加scoped属性,以表示它的样式仅作用于当下的模块,很好的实现了样式私有化的目的。

        但是为什么要慎用呢?在实际业务中我们往往会在父组件中对引用的公共组件样式做细微的调整,如果公共组件添加了scoped属性,那么父组件将不容易修改公共组件的样式(除非父组件用!important),也就是说对公共组件的样式不适合使用scoped属性

  三:有关qs模块

 

import axios from 'axios'

import qs from 'qs'

 

let post = (url, data) => {

return axios({

method: 'post',

url,

data: qs.stringify(data),

headers: {

'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'

}

})

}

export default {post}

qs模块需要通过npm安装。它是一个支持嵌套的查询字符串解析器。有parse和stringify方法。

简单来说就是qs可以转换任意类json格式的数据,而querystring只能转换平面数据结构,qs的功能更加强大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值