博主信息
博文 37
粉丝 0
评论 1
访问量 49692
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
那些我们使用VUE2.0+Mint-ui+axios踩过的坑
戈壁骆驼的博客
原创
1415人浏览过

那些我们使用VUE2.0+Mint-ui+axios踩过的坑

2018年01月25日 10:26:55 Doniet 阅读数:683更多

个人分类: web前端

前言

公司有一个项目,要求做到组件最大限度重用;由于项目比较赶,于是我决定使用比较熟悉VUE2.0来开发。没想到,让我踩了一大片的坑。虽然项目最终还是上线了,但是那些坑,让我每每想到都会有一股洪荒之力在体内流窜。

那些坑

修改Mint-ui的样式 
项目中要对所有的***端做适配,Mint-ui并做任何适配,因此,部分组件需要调整样式。可是在组件中去改变样式发现,并没有用。然而。在公共样式中去改却有效。不知道是因为Mint-ui组件是按需引入还是其他什么原因,一直未能找到。

axios请求 
项目开发时,由于后台没有做跨域处理,因此安装CROS插件。调试时,发现POST请求直接报:

Response for preflight is invalid (redirect)

但是使用jQuery的ajax却能成功发POST请求。什么原因,一直悬而未决。

IOS输入问题 
测试时,发现IOS键盘弹起,却无法输入,尼玛,什么鬼呀….于是各种百度,花了很长时间,才知道原来是html,body及通配样式里加了:

-webkit-user-select:none;

可是-webkit-user-select为什么会影响输入还不明就里。

与***端原生交互问题 
VUE的方法都是封装在自己的实例中,而IOS,Android能调用的JS对象,必须是全局的。这就必须得将某个方法暴露出来,这样破坏了vue方法的作用域,但是一直没有找到好的处理方法。

页面数据不会更新问题 
在用户列表页面进入添加用户页面,添加完用户后返回用户列表页面,发现页面数据不会更新。why???原来页面调用查询用户数据的方法只在页面创建时执行了一次。 
决解办法:

....
 beforeRouteEnter (to, from, next) {   next(vm => {
      vm.queryUsrList({page: 1})
  })
 }, ...


再次进入页面表单数据还存在问题 
在用户列表页面进入添加用户页面,添加完用户后返回用户列表页面,当再次进入添加用户页面时,发现上次添加的用户信息还存在。原因是vue实例中还保存着上次输入的信息。 
决解办法:

   ...
    beforeRouteLeave (to, from, next) {
      this.$destroy()      next()
    },  ...


路由参数变化,不会触发页面更新 
在用户列表中点击用户,跳转到用户详情页面。路由中会把用户ID传递到下一个页面。但是点击不同的用户,发现显示的是第一次得到得数据,与用户不匹配。原因还是页面调用查询用户数据的方法只在页面创建时执行了一次。

beforeRouteEnter (to, from, next) {
    next(vm => {
      vm.queryUsr({userId: to.params.id})
    })
  },


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学