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

发布于 2022-09-11 14:30:36 字数 884 浏览 11 评论 0

问题描述

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

相关代码

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."

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

铃予 2022-09-18 14:30:36

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文