iView3.x Anchor(锚点)组件 导航锚点
iView3.x Anchor(锚点)组件 导航锚点
iview 3.x框架中新添了一个Anchor(锚点组件),用这个组件去做页面的分类导航正好合适,但是苦于官方文档太过抽象研究了一整天,才勉强可以在项目中应用。下面是我研究后的一点总结:
首先在main.js中引入iview 3.x
我使用部分引用组件的方法所以要单独引入Anchor组件
import {Anchor} from 'iview'
Vue.component('Anchor', Anchor) // 这两句就可以在页面中使用组件了
接着在要使用锚点的页面中引入组件
注意:在页面中这里引用的是AnchorLink
原因是在页面中Anchor 被渲染成了多层嵌套的div 只有AnchorLink是以组件形式存在于渲染后的页面中所以真正的组件是AnchorLink
但是main.js文件中引入还是要引入Anchor...
就这一点小坑硬是把我卡住了好久,最后在层层的Elements中终于发现了问题的所在。
import {AnchorLink} from 'iview'
components: {
AnchorLink
}
html中锚点列表部分的代码
Anchor标签中container属性表示的是可以滚动的区域节点,表示方法与CSS相同"."表示class,"#"表示id
affix属性是图钉效果,根据自己想表现的效果选择是否使用;show-ink是锚点前的小圆点都是按需选择的属性.
<Anchor show-ink :affix="false" container=".goodShow">
<AnchorLink href="#basic_usage" title="Basic Usage" />
<AnchorLink href="#static_position" title="Static Position" />
</Anchor>
代码中href的值是该锚点跳转位置的ID title是该锚点的名称
锚点对应的滚动区代码
滚动区中div的id对应的是锚点部分的href
<div class="goodShow">
<div id="basic_usage" style="height:30rem;">12312312312</div>
<div id="static_position" style="height:30rem;">123123123123</div>
</div>
CSS代码部分
.goodShow{position: relative;overflow-y: scroll;}
注意:必须要把滚动区设计成带滚动条的部分不然完成不了滚动效果。
也就是说无论滚动区和锚点列表在html中的顺序是如何,但是一定要把Anchor标签中container对应的文档节点,设置为滚动区的节点。
例如:
<div class="goodShow"> // 滚动区域
<Anchor show-ink :affix="false" container=".goodShow"> // 锚点列表
<AnchorLink href="#basic_usage" title="Basic Usage" />
<AnchorLink href="#static_position" title="Static Position" />
</Anchor>
<div id="basic_usage" style="height:30rem;">12312312312</div> // 锚点列表中对应的文档位置
<div id="static_position" style="height:30rem;">123123123123</div>
</div>
补充说明: 如果页面中的数据是通过v-for循环渲染的,则有可能出现'offset undefined一类的报错',出现这种报错的大概率会影响页面的滚动效果,产生的原因是:锚点列表的数据与滚动的页面的展示数据是分开获取的,由于时间差的原因会导致其中一个渲染完成之后另一部分并没有被渲染.也就会造成组件在获取offset时找不到(也就是undefined),报错并导致失去原有的页面效果.
解决办法:设法使两部分数据同一时间赋值给渲染的变量,比如分两个接口获取锚点的分类和内容,在create中调用接口获取数据,但不要再两个接口中分别赋值.统一到一个接口数据获取完成后再赋值,这样就可以避免这种报错.
最后,纪念一下这忙碌的一天。。
END
来源:https://segmentfault.com/a/1190000016667659
iView3.x Anchor(锚点)组件 导航锚点的更多相关文章
- jquer导航锚点链接动画效果和返回顶部代码
$(function(){ $(".index_nav li a").click(function(event){ //绑定按钮的单击事件 var index = this.tit ...
- Javascript实现导航锚点滚动效果实例
本篇文章主要介绍了Javascript实现页面滚动时导航智能定位,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 常见的开发页面中可能会有这么一个需求,页面中会有多个模块,每个模块对应一个导航,当页 ...
- Vue 组件中锚点定位的问题
1 当前组件的顶部 this.$el.scrollIntoView() 2 指定的 Element this.$el.querySelector(selector).scrollIntoView() ...
- ⑩bootstrap组件 导航 使用基础案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- vue组件导航栏动态添加class
- [UE4]UMG编辑器:控件作为变量、预设锚点和自由锚点
- HoloLens开发手记 - Unity之World Anchor空间锚
World Anchor空间锚提供了一种能够将物体保留在特定位置和旋转状态上的方法.这保证了全息对象的稳定性,同时提供了后续在真实世界中保持全息对象位置的能力.简单地说,你可以为全息物体来添加空间锚点 ...
- Unity 基础-------------------------关于Anchor锚点的理解
Unity进阶技巧 - RectTransform详解 Zui 关注 2016.02.17 01:27 字数 1704 阅读 22157评论 13喜欢 57赞赏 2 RectTransform属性一览 ...
- jquery 滚轴滚动 导航定位和锚点定位
自己写的,只测试了ie9+, firefox,chrome 以下js更好 var fixbar={ init:function(){ "use strict"; // 滚轴 导航位 ...
随机推荐
- python随机生成图片
#-*-coding:utf-8-*- import tensorflow as tf import numpy as np import cv2 image = tf.random_uniform( ...
- Quota- Linux必学的60个命令
1.作用 quota命令用来显示磁盘使用情况和限制情况,使用权限超级用户. 2.格式 quota [-g][-u][-v][-p] 用户名 组名 3.参数 -g:显示用户所在组的磁盘使用限制. -u: ...
- php冒泡算法
1.冒泡算法 网上搜了很多,但是总是对于每次循环的边界值思路讲的比较笼统. 不是很容易被新手记住,我自己平时也是硬记下来的. 但是对于算法,硬记,时间长了还是容易忘记,所以自己写了一次,把每次思路尽量 ...
- c++设计模式:观察者模式
主要思想:建立一个一对多的关系,当一个对象发生发生变化时,其他对象也发生变化. 可以举个博客订阅的例子,当博主发表新文章的时候,即博主状态发生了改 变,那些订阅的读者就会收到通知,然后进行相应的动作, ...
- Ajax 导出Excel 方式
1.使用iframe 加载 使用get方式 <iframe id="comdownshow" height="0" width="0" ...
- Django项目:CMDB(服务器硬件资产自动采集系统)--01--01CMDB获取服务器基本信息
AutoClient #settings.py # ————————01CMDB获取服务器基本信息———————— import os BASEDIR = os.path.dirname(os.pat ...
- CPA专业阶段单科成绩有5年有效期限,即从通过科目考试的第一年算起
你为什么不去参加注册会计师考试? 注册会计师考试出考率极低,大家都有自己的原因,可以客观地说,每年注会考场出考人数不足三成,到底是什么原因不去考试呢?大家是这么说的. 1.没有好好复习呗,还怎么去考试 ...
- 用Jmeter参数化实现接口自动化测试
本文记录如何使用Jmeter参数化(csv)实现接口自动化——测试Token不同入参情况下,接口请求能够返回正确的结果 1. 首先需要使用Jmeter获取一个Token,如何获取暂略(同一般访问请求方 ...
- Luogu P1967 货车运输(Kruskal重构树)
P1967 货车运输 题面 题目描述 \(A\) 国有 \(n\) 座城市,编号从 \(1\) 到 \(n\) ,城市之间有 \(m\) 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 \ ...
- [Array]217.Contains Duplicate
Given an array of integers, find if the array contains any duplicates. Your function should return t ...