vue-router在IE11下不跳转

IE11上router-link无法跳转,主要是因为当url的hash change的时候,浏览器没有做出相应。这时候需要做一个兼容,当浏览器是IE11时手动给url加一个hashChange事件

new Vue({
  el: '#app',
  router,
  store,
  template: '<Layout/>',
  components: { Layout },
  render: function (createElement) {
    if ('-ms-scroll-limit' in document.documentElement.style && '-ms-ime-align' in document.documentElement.style) {
      window.addEventListener('hashchange', () => {
        var currentPath = window.location.hash.slice(1)
        if (this.$route.path !== currentPath) {
          this.$router.push(currentPath)
        }
      }, false)
    }
    return createElement(Layout);
  }
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • vue2有着深度继承的路由插件,即:vue-router,其中文的API地址。 vue-router与其他的路由(...
    白水螺丝阅读 17,570评论 0 17
  • 1 为什么需要使用react-router 当你写了很多react组件后,想要实现不同组件之间的切换和跳转的时候,...
    阡陌哥哥阅读 2,523评论 0 2
  • 推荐我的vue教程:VUE系列教程目录 前言 通过前面我写的VUE入门博客,相信已经大概了解VUE是何物,但是对于...
    侬姝沁儿阅读 3,000评论 4 19
  • 不知什么时候开始,我也成了大家的榜样。 从小,父母、老师经常会要求我们向××学习,向榜样学习。可能当年年纪小,定力...
    mimi播报阅读 346评论 5 4