使用router-link跳转页面,页面空白,数据未传递到指定页面——解决方法

在Vue的毕设项目中,作者遇到使用`router-link`跳转页面时,页面显示为空且数据未能正确传递的问题。通过对比发现,使用`this.$router.push()`方法能正常跳转并显示内容。分析原因可能是路由提前跳转导致值无法正确传递,建议在获取数据后再进行页面跳转。
部署运行你感兴趣的模型镜像

问题叙述

我的毕设是新闻发布管理系统
在这里插入图片描述
这是首页新闻列表,我需要点击新闻列表获取详细的新闻内容,当我点击时,需要将新闻的编号,传递给后台,之后跳转页面,把后台查到的内容渲染到页面上,此时跳转页面有两种方法:

1.使用router-link

      <!-- 中间内容 -->
      <div class="mainContent">
        <div class="content">
          <div  class="news_item">
            <div class="item" :key="tnew.tnewId" v-for="tnew in list">
                <img :src="vueBaseUrl+tnew.tnewImgUrl" alt="这是一张图片" class="news_pic" v-if="tnew.tnewImgUrl"> <!--  alt:用户无法显示图片或者用户禁用图像时替代的文本内容 -->
                <router-link to="/re_detail"><div class="text"  @click="handleContent(tnew.tnewId)"><span class="text_title">{{tnew.tnewTitle}}</span></div></router-link>
                <br>
                <br>
                <br>
                <span>&nbsp;&nbsp;&nbsp;&nbsp;发布时间:{{tnew.publishTime}}&nbsp;&nbsp;|&nbsp;&nbsp;点击次数{{tnew.click}}</span>
            </div>
        </div>
        </div>
      </div>

结果:
标题和详细内容不符。
页面乱码
在这里插入图片描述
在这里插入图片描述
2.this.$router.push()方法动态跳转

    //查看新闻详细内容
    handleContent(id){
      //这里的this指的是直接调用者VueComponent
      window.localStorage.setItem('get-content',id);

      this.$router.push({path:'/re_detail'});      
    }

结果:
正常跳转,且内容正确。

结论:在点击事件触发之前,路由已经先跳转了,因此值无法正确传递,所以应该拿到值再跳转

好了,完结撒花!!!

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值