详解Vue项目中实现锚点定位


Posted in Javascript onApril 24, 2019

背景

今天在开发限时练-提分加项目的时候,有一个需要锚点定位的需求,而在Vue项目中,使用传统的在a标签的href属性中写id的方法无效,会导致浏览器的地址改变从而跳转到其他页面。

详解Vue项目中实现锚点定位

解决

最终参考vue2.0中怎么做锚点定位改问题下的回答实现了效果。

<template>
<div class="score-preview-container">
 <div class="content-box">
 <div class="content-page-box">
  <GlobalAnalysis :id="#anchor-0" />
  <ErrorMerge :id="#anchor-1" />
  <DoExercise :id="#anchor-2" />
 </div>
 <div class="nav-button-box">
  <span class="nav-button-fix">
  <div class="nav-button" v-for="(item,index) in buttonArr" :key="index" :class="{active : activeBtn == index}" @click="goAnchor('#anchor-'+index,index)">{{item}}</div>
  </span>
 </div>
 </div>
</div>
</template>

<script>
import { mapActions } from "vuex";
import GlobalAnalysis from "./components/GlobalAnalysis.vue";
import ErrorMerge from "./components/ErrorMerge.vue";
import DoExercise from "./components/DoExercise.vue";
export default {
 name: "score-preview",
 components: { GlobalAnalysis, ErrorMerge, DoExercise },
 data() {
 return {
  buttonArr: ["整体分析", "错题整理", "提分训练"],
  activeBtn: 0
 };
 },
 mounted() {
 this.dataInit();
 },
 methods: {
 ...mapActions("v2-score-preview", [
  "fetchClassScoreData",
  "fetchPersonalReportData",
  "fetchErrorQuestionData",
  "fetchExerciseData"
 ]),
 //初始化
 dataInit() {
  this.fetchClassScoreData();
  this.fetchPersonalReportData();
  this.fetchErrorQuestionData();
  this.fetchExerciseData();
 },
 //锚点跳转
 goAnchor(selector, index) {
  this.activeBtn = index;
  document.querySelector("#app-root").scrollTop = this.$el.querySelector(selector).offsetTop;
 }
 }
};
</script>

另外,参考页面内锚点定位及跳转方法总结文章中的第四种方法,发现使用scrollIntoView()方法也能实现锚点定位的效果。

//锚点跳转
goAnchor(selector, index) {
 this.activeBtn = index;
 this.$el.querySelector(selector).scrollIntoView()
}

以上所述是小编给大家介绍的Vue项目中实现锚点定位详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
鼠标右击事件代码(asp.net后台)
Jan 27 Javascript
js报错 Object doesn't support this property or method的原因分析
Mar 31 Javascript
js实现三张图(文)片一起切换的banner焦点图
Aug 25 Javascript
js验证框架实现代码分享
May 18 Javascript
使用AngularJS2中的指令实现按钮的切换效果
Mar 27 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
Aug 18 Javascript
原生JS 购物车及购物页面的cookie使用方法
Aug 21 Javascript
Vue.js 中的 v-show 指令及用法详解
Nov 19 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
Apr 11 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
Sep 23 Javascript
小程序外卖订单界面的示例代码
Dec 30 Javascript
JavaScript鼠标悬停事件用法解析
May 15 Javascript
微信小程序中使用echarts的实现方法
Apr 24 #Javascript
基于mpvue小程序使用echarts画折线图的方法示例
Apr 24 #Javascript
详解微信小程序开发用户授权登陆
Apr 24 #Javascript
微信小程序实现的一键拨号功能示例
Apr 24 #Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
Apr 24 #Javascript
微信小程序实现的图片保存功能示例
Apr 24 #Javascript
vue中的inject学习教程
Apr 24 #Javascript
You might like
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
php实现微信支付之现金红包
2018/05/30 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
基于jQuery的获得各种控件Value的方法
2010/11/19 Javascript
js 字符串转化成数字的代码
2011/06/29 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
jquery实现通用版鼠标经过淡入淡出效果
2014/06/15 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
NodeJS使用七牛云存储上传文件的方法
2017/07/24 NodeJs
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
OpenCV 模板匹配
2019/07/10 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
python遍历路径破解表单的示例
2020/11/21 Python
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
财产公证书格式
2014/04/10 职场文书
党员目标管理责任书
2014/07/25 职场文书
Golang 链表的学习和使用
2022/04/19 Golang