nuxtjs 切换路由的时候如何刷新页面数据?

是这样切换的。都是在本页面,只是后面都参数不一样而已

<nuxt-link to="/test/abc?sq=2">test</nuxt-link>
<nuxt-link to="/test/abc?sq=1">test</nuxt-link>

无论是asyncData,还是fetch。还是mounted都没执行。
所以页面无法根据参数sq,展示不一样的数据。

阅读 22k
5 个回答

用watch,

export default {
       
        watch: {
            "$route": function(){
                //路由变化会触发
            }
        },
        
    }
新手上路,请多包涵

watchQuery: ['id']

nuxt-link 走路由,只在client处理,要走server可以改为 <a :href="/test/abc?sq=2">test</a>,asyncData等就都会触发执行了

新手上路,请多包涵

<nuxt-link to="/test/abc?sq=2">test</nuxt-link>
<nuxt-link to="/test/abc?sq=1">test</nuxt-link>

正确是应该是watchQuery:['sq'], 如果定义的字符串发生变化,将调用所有组件方法(asyncData, fetch, validate, layout, ...)。

上述转自 海畅智慧 www.hichannel.net

很难受,目前我是这样做的。或者在mounted时候判断this.biz是否存在,不存在再使用客户端调用接口。
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进