vue-Ie下踩坑20190820
开发的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的更多相关文章
- vue配置环境踩坑
Vue 环境配置踩坑 目录 Vue 环境配置踩坑 windows下cnpm -v :无法将"cnpm"项识别为 cmdlet.函数.脚本文件或可运行程序的名称. windows下c ...
- vue+ vue-router + webpack 踩坑之旅
说是踩坑之旅 其实是最近在思考一些问题 然后想实现方案的时候,就慢慢的查到这些方案 老司机可以忽略下面的内容了 1)起因 考虑到数据分离的问题 因为server是express搭的 自然少 ...
- HttpClient在多线程环境下踩坑总结
问题现场 在多线程环境下使用HttpClient组件对某个HTTP服务发起请求,运行一段时间之后发现客户端主机CPU利用率呈现出下降趋势,而不是一个稳定的状态. 而且,从程序日志中判断有线程处于han ...
- vue cli+axios踩坑记录+拦截器使用,代理跨域proxy(更新)
16319 1.首先axios不支持vue.use()方式声明使用,看了所有近乎相同的axios文档都没有提到这一点建议方式 在main.js中如下声明使用 import axios from 'ax ...
- vue cli+axios踩坑记录+拦截器使用,代理跨域proxy
1.首先axios不支持vue.use()方式声明使用,看了所有近乎相同的axios文档都没有提到这一点 建议方式 在main.js中如下声明使用 import axios from 'axios'; ...
- vue + element-ui 制作tab切换(切换vue组件,踩坑总结)
本篇文章使用vue结合element-ui开发tab切换vue的不同组件,每一个tab切换的都是一个新的组件. 1.vue如何使用element-ui 上一篇文章已经分享了如何在vue中使用eleme ...
- vue项目打包踩坑记
基于webpack+vue-cli下的vue项目打包命令是 npm run build ,等待打包完成后在根目录生成dist文件夹,里面包含了所有项目相关的内容. 注意:需要完整版的vue-cli项目 ...
- [ vue ] quasar框架踩坑:在vue文件外导入路由,执行router.push('/')没有效果
问题描述: 1. 如图所示的项目结构目录, axios.js 文件负责拦截全局请求和回复,我在拦截回复的代码中写了:如果服务器回复了一个401错误,则执行Router.push('/'),但是该方法失 ...
- vue搭配axios踩坑
客户端项目中有一个小需求“我的卡券”,有单独入口,所以综合考虑之后,采用了vue来实现,因为是初次使用,导致了选型不当,先用了SUI-Mobile来搭建页面,当决定使用vue的时候,页面也搭建完毕了, ...
随机推荐
- 【转】HLS视频点播&直播初探
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- lyf基础作业
include <stdio.h> include <stdlib.h> int main (void) { FILE * fp; int a[10]; int max=0; ...
- ubuntu16.04修改host上外網
1.打开hosts文件: sudo emacs /etc/hosts 2.加入下面的内容 #chrome同步服务器 203.208.46.132 chrome.google.com203.208.46 ...
- LeetCode 96. 不同的二叉搜索树(Unique Binary Search Trees )
题目描述 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 输出: 解释: 给定 n = , 一共有 种不同结构的二叉搜索树: \ / / / \ \ / / ...
- 如何在外部获取当前A标签的ID值
<div class="diskmain"> <ul id="folder"> <li><span class='do ...
- project2016安装与破解
分步阅读 project2016发布增加了许多功能.Microsoft Office 2016 官方正式版发布!这是微软发布的全新办公软件套件,相比现有Office 2013的变化也不是很大,界面 ...
- Typography 字体
Typography 字体 我们对字体进行统一规范,力求在各个操作系统下都有最佳展示效果. ¶中文字体 和畅惠风 PingFang SC 和畅惠风 Hiragino Sans GB 和畅惠风 Micr ...
- python文件读写和异常
1,文本文件 普通打开 f.open f.close def main(): f = None try: f = open('致橡树.txt', 'r', encoding='utf-8') prin ...
- ControlTemplate in WPF —— DatePicker
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...
- 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_03.入门程序之需求分析