angular实现链接锚记
前言:
之所以这么说,是因为angular的路由将html默认的链接锚记的#给占用了,所以传统的链接锚记在这里将不再适用,这个有点坑啊,又要多写好几行代码来模拟这个功能。
实现原理:
location.hash()是用来设置页面的标识,在单页应用里因为所有页面都集成到一个页面中,通过路由来实现页面片段的加载,这就需要这个location.hash()来区分。
示例代码:
HTML:
1. 链接锚记触发元素:
<li ng-click="clickLog(item)" ng-repeat="item in HotSiteList">{{item.dataName}}</li>
2. 链接锚记目标元素:
<div ng-repeat="l in letters" ng-if="trainSitesList"> <div class="site-panel-title padding-left graycolor" id="anchor{{l}}">{{l}}</div> ......
JS:
$scope.gotoAnchor = function(x) { $location.hash('anchor' + x); $anchorScroll(); }
如上,当点击列表项,触发gotoAnchor事件,就会跳转到对应id的div标签
个人原创博客,转载请注明来源地址:https://www.cnblogs.com/xyyt
分类:
angular+ionic
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通