H5W3
当前位置:H5W3 > 其他技术问题 > 正文

vue router如何利用scrollBehavior指定滚动位置?

问题描述

在用户页面有该用户最近创建的主题列表,想在点击某主题最后回复信息时,跳转到该主题页面并定位到最后一条回复处。但是现在跳转过去后不能定位到最后一条回复处,报错了。

相关代码

https://jsfiddle.net/0uytzaf5/
html 视图里面是最近创建的主题模板,js 视图里是路由配置。

//获取最后一条回复的 id
getLastReplyId(topicId){
  let topic = this.details.find(obj => obj.id === topicId);

  if(topic){
    //该话题存在
    let allReplies = topic.replies;

    if(allReplies.length > 0){
      //话题有回复
      let hash = `#${allReplies[allReplies.length - 1].id}`;

      return hash;
    }else{
      //话题没回复
      return '';
    }
  }else{
    //该话题不存在
    return '';
  }
}

你期待的结果是什么?实际看到的错误信息又是什么?

[Vue warn]: Error in nextTick: "SyntaxError: Failed to execute 'querySelector' on 'Document': '#5bc1d95337a6965f59052184' is not a valid selector."

回答:

最后一条不应该是底部吗,试试可不可以定位到下一个外层的最底部

本文地址:H5W3 » vue router如何利用scrollBehavior指定滚动位置?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址