开发的vue项目终于告一段落,终于是可以部署在测试服务器给客户看了,期间也是遇到各式各样的坑。

  1.有些bug在谷歌是在没问题的,在ie上就会暴露出来,因为其中一个模块设计多个类型资源的列表,所以写纯模板的vue是行不通的,所以考虑写rander或者是jsx,

    最终是选择了些jsx,rander当时写的时候还不是特别熟练。(不过看完vue-rander部分的源码,问题不大,还是要多多看源码)。

    其间往jsx中传入一个图片的地址,是对象中的一个属性。我传的文件的地址,一直给我报 vue Error in nextTick: "Error: 参数无效。",ie是真的牛逼,这都能检测的出来,

      导致我后续所以的字组件都没有渲染出来,请原谅我的无知,刚开始一直以为是ie11不支持jsx,现在想想确实脑洞有点大。

    所以下次遇见 vue Error in nextTick: "Error: 参数无效。" 一定要先检测传的数据是否有问题,ie并没有谷歌那么好的包容性。

  2.项目上是分前台和后台,前台并没有直接跳到后台的连接,所以是直接在流浪器上改变的连接地址,wtf,尽然不跳转。谷歌上是号的,这又是啥。

    所以就仔细分析一下这个问题,首先,ie上的vue-router连接是可以跳转的,所以说ie11是可以使用vue-router,也就是说我们使用this.$router.push 这个方法是可用的

    然而我们直接改变链接地址为什么不跳转,那么肯定是ie上这个有bug.既然我们直接改变地址他不跳转,那么我们是否可以监听一下地址,如果地址改变手动执行this.$router.push

    查了一下ie上确实是有方法监听ie地址改变的, window.addEventListener('hashchange', ()=>{},false),所以我们再最初的父组件mouted中调价这个监听。发生改变是在执行this.$router.push

 if (!!window.ActiveXObject || 'ActiveXObject' in window) {
window.addEventListener('hashchange', () => {
let currentPath = window.location.hash.slice(1)
if (this.$route.path !== currentPath) {
this.$router.push(currentPath)
}
}, false)
}

  来源地址:https://www.jianshu.com/p/1e94f20f8672

  3.iis上部署项目,因为项目在子文件夹下,所以不能指定默认文档,iis只能执行第一层的文件夹的文件作为默认文档,所以我们可以新建一个默认文档,然后在做一次跳转

  

<script>window.location.href='/static/index.html'</script>

vue-Ie下踩坑20190820的更多相关文章

  1. vue配置环境踩坑

    Vue 环境配置踩坑 目录 Vue 环境配置踩坑 windows下cnpm -v :无法将"cnpm"项识别为 cmdlet.函数.脚本文件或可运行程序的名称. windows下c ...

  2. vue+ vue-router + webpack 踩坑之旅

    说是踩坑之旅 其实是最近在思考一些问题 然后想实现方案的时候,就慢慢的查到这些方案   老司机可以忽略下面的内容了 1)起因  考虑到数据分离的问题  因为server是express搭的   自然少 ...

  3. HttpClient在多线程环境下踩坑总结

    问题现场 在多线程环境下使用HttpClient组件对某个HTTP服务发起请求,运行一段时间之后发现客户端主机CPU利用率呈现出下降趋势,而不是一个稳定的状态. 而且,从程序日志中判断有线程处于han ...

  4. vue cli+axios踩坑记录+拦截器使用,代理跨域proxy(更新)

    16319 1.首先axios不支持vue.use()方式声明使用,看了所有近乎相同的axios文档都没有提到这一点建议方式 在main.js中如下声明使用 import axios from 'ax ...

  5. vue cli+axios踩坑记录+拦截器使用,代理跨域proxy

    1.首先axios不支持vue.use()方式声明使用,看了所有近乎相同的axios文档都没有提到这一点 建议方式 在main.js中如下声明使用 import axios from 'axios'; ...

  6. vue + element-ui 制作tab切换(切换vue组件,踩坑总结)

    本篇文章使用vue结合element-ui开发tab切换vue的不同组件,每一个tab切换的都是一个新的组件. 1.vue如何使用element-ui 上一篇文章已经分享了如何在vue中使用eleme ...

  7. vue项目打包踩坑记

    基于webpack+vue-cli下的vue项目打包命令是 npm run build ,等待打包完成后在根目录生成dist文件夹,里面包含了所有项目相关的内容. 注意:需要完整版的vue-cli项目 ...

  8. [ vue ] quasar框架踩坑:在vue文件外导入路由,执行router.push('/')没有效果

    问题描述: 1. 如图所示的项目结构目录, axios.js 文件负责拦截全局请求和回复,我在拦截回复的代码中写了:如果服务器回复了一个401错误,则执行Router.push('/'),但是该方法失 ...

  9. vue搭配axios踩坑

    客户端项目中有一个小需求“我的卡券”,有单独入口,所以综合考虑之后,采用了vue来实现,因为是初次使用,导致了选型不当,先用了SUI-Mobile来搭建页面,当决定使用vue的时候,页面也搭建完毕了, ...

随机推荐

  1. 解决Cannot change version of project facet Dynamic Web Module to 3.1

    Open web.xml from project structure http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version= ...

  2. C# 防火墙操作之启用与关闭

    通过代码操作防火墙的方式有两种:一是代码操作修改注册表启用或关闭防火墙:二是直接操作防火墙对象来启用或关闭防火墙.不论哪一种方式,都需要使用管理员权限,所以操作前需要判断程序是否具有管理员权限. 1. ...

  3. Android-Universal-Image-Loader的缓存处理机制与使用 LruCache 缓存图片

    讲到缓存,平时流水线上的码农一定觉得这是一个高大上的东西.看过网上各种讲缓存原理的文章,总感觉那些文章讲的就是玩具,能用吗?这次我将带你一起看过UIL这个国内外大牛都追捧的图片缓存类库的缓存处理机制. ...

  4. Android中@id与@+id区别和sharedUserId属性详解

    Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值. id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc.@+id/xyz等. 如果在@后 ...

  5. C++模板函数实践1

    实践如下: #include <iostream> #include <typeinfo> using namespace std; class Bean{ private: ...

  6. 浏览器端-W3School-HTML:HTML DOM Meta 对象

    ylbtech-浏览器端-W3School-HTML:HTML DOM Meta 对象 1.返回顶部 1. HTML DOM Meta 对象 Meta 对象 Meta 对象代表 HTML 的 一个 & ...

  7. flutter 隐藏返回按钮 自定义返回按钮

    自定义返回按钮 //改变颜色 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( leading: BackBu ...

  8. Java学习之==>泛型

    一.什么是泛型 泛型,即“参数化类型”,在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型.也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类.接口 ...

  9. qwebchannel.js

    Qt与JavaScript交互通讯的桥梁 参考资料:[http://doc.qt.io/qt-5/qtwebengine-webenginewidgets-markdowneditor-resourc ...

  10. 关于struts2防止表单重复提交

    struts2防表单重复提交有两种方式. 其一是action的重定向,跳转时设置type为从一个action跳转到另一个action或者另一个页面, 使用户提交后,所停留的位置,不是当前处理数据的Ac ...