javascript - 有时,vue 路由器链接会刷新/重新加载页面。有时却没有

标签 javascript vue.js nginx vue-router

当我点击主页“itemcarousel”上的一些路由器链接时,我注意到一些奇怪的行为:

http://www.leefschooldewonderwijzer.be

当您只需单击第一个轮播项目(带放大镜的女孩)时,就会加载相应的页面,而无需刷新浏览器。但是,当您首先单击向左箭头(因此项目向右滑动),然后单击同一项目时,浏览器将首先刷新/重新加载。

我检查了 HTML,单击箭头后实际链接中确实没有任何变化:

<a href="/article/33" class="inneritem" style="background-image: url(&quot;http://wonderwijzer.fast-focus.be/uploads/wonderwijzer/imageasset/source/11/version_500x500_bigstock--140862161.jpg&quot;); background-position: initial initial; background-repeat: initial initial;" tabindex="0"><h2 class="itemtitle">
              Buitenonderwijs
            </h2></a>

有人知道为什么会发生这种情况吗?我在其他一些链接上也遇到了相同的行为。

=>“in de kijker”下的第二条新闻。当你点击“lees meer”=>刷新时

某些路由可以正确打开,其他路由则进行不需要的刷新。

更新

这肯定和历史模式有关。当我部署网站时 使用哈希模式,它可以正常工作。我使用 Nginx 作为网络服务器。服务器配置有问题吗?

server {
  listen 80;

  gzip on;
  gzip_http_version 1.1;
  gzip_vary on;
  gzip_comp_level 6;
  gzip_proxied any;

  root /webroot/wonderwijzer.be;
  index index.html;

  server_name 
  leefschooldewonderwijzer.be 
  www.leefschooldewonderwijzer.be;

  location / {
    try_files $uri $uri/ /index.html;
  }

  location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
    # Some basic cache-control for static files to be sent to the browser
    expires max;
    add_header Pragma public;
    add_header Cache-Control "public, must-revalidate, proxy-revalidate";
  }

}

最佳答案

使用 vue 路由器标签代替 a 标签

<router-link to="/article/33"> Buitenonderwijs </router-link> 

这将加载 View 而不重新加载网站

关于javascript - 有时,vue 路由器链接会刷新/重新加载页面。有时却没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57713635/

相关文章:

vue.js - Nuxt.js loginWith Auth0 延迟重定向

javascript - 如何在 JavaScript 中补偿 Nginx url 重写?

html - HTML5 模式下的 NGINX、proxy_pass 和 SPA 路由

php - Cakephp/php Post 数据字段值包含来自 RAW Post 的片段

javascript - 将表 HTML 转换为 JSON

vue.js - 将@contextmenu 事件与 vuetify v-data-table 一起使用

javascript - 在组件中读取文本输入引用时,React Native refs 未定义

javascript - Vue 计算方法 - 在数组中查找值不起作用

javascript - mousedown 监听器在 Firefox 中的绝对定位元素上不起作用

javascript - 为什么 .innerHTML 在 xmlhttp.open() 和 .send() 之前更改?