有时 vue router-link 会刷新/重新加载页面。有时却没有

问题描述 投票:0回答:2

当点击主页“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";
  }

}
javascript vue.js nginx vue-router
2个回答
1
投票

使用 vue router 标签代替 a 标签

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

这将加载视图而无需重新加载网站


0
投票

当我使用 Quasar Vue 路由器时,有时也会发生这种情况。它只发生在开发中,而不是构建中

© www.soinside.com 2019 - 2024. All rights reserved.