vue组件内监听路由变化

本文讨论了如何在Vue应用中通过监听路由变化来动态更新组件数据。当Tag组件选择特定标签时,不再需要直接请求数据或使用Vuex。而是通过在Article组件中添加watch属性监听路由,根据路由参数触发相应数据请求,从而实现页面内容的实时更新。这种方法避免了路由信息未充分利用和页面后退时数据无法更新的问题。
摘要由CSDN通过智能技术生成

需求分析:首頁面有两个组件,Artist组件和Tag组件,分别对应文章组件和标签组件,点击Tag组件的某项标签,要动态更新Artist组件里的内容,并且路由要传递查询信息
在这里插入图片描述

首先,要根据Tag组件选中的tid去动态更新articles数据,如何去实现呢?

这时候我想到的方法:是把articles数据放在vuex上实现组件共享,点击标签后,Tag组件直接异步请求articles数据,并更新Vuex上的articles,然后再更新路由,同时设置Article组件的articles为Computed属性,这样就可以动态更新页面数据了

store.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store=new Vuex.Store({
    /*为什么共享文章:因为方便tag页面操作文章,点击不同tag,更新不同文章*/
    state:{
        articles:{
            artContent:[],
            total:0,
        },
    },
    mutations:{
        initArticles(state,obj){
            state.articles.artContent=obj.data;
            state.articles.total=obj.total;
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值