亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

筆記:angular在路由跳轉時,如何讓跳轉的頁面顯示在最頂端?

標簽:
AngularJS

如果我在A页面把页面下拉了,再点击跳转到B页面,页面的位置不是现实的最顶端(而是A页面的页面位置)。
如何让页面每次跳转都把下一个页面的时候,都让页面显示在顶部:

使用 $anchorScroll
依赖:

```$window $location $rootScope $anchorScroll

PS:官方文档说明请参考:
https://docs.angularjs.org/api/ng/service/$anchorScroll
或参考简书上的相关文章:
http://www.jianshu.com/p/9cd7c2d2710f

以下是我参考相关资料后在项目中的解决方法:

index.html:
body部分:在ui-view 的div 中加入id"view-pos":

<body ng-controller="AppCtrl">
    <div ng-include="'app/header.tpl.html'"></div>
    <div ng-init="myInit()" id="view-pos" ui-view class="container-fluid"></div>
    <div ng-include="'app/footer.tpl.html'"></div>
</body>

app.js:

angular.module('authorization').controller('AuthController', ['$location', '$window', '$rootScope','$anchorScroll',
    function ( $location, $window, $rootScope,$anchorScroll) {
        $anchorScroll.yOffset = 30;   // 总是滚动额外的30像素(此处是因为我的项目中样式设置原因,需要加上以offset)
        $location.hash('view-pos');
        $anchorScroll();
    }
]);

但测试发现设置了id之后跳转的页面url后面都会加上id "#view-pos",于是修改index.html中id值为空,同时app.js中$location.hash('view-pos')中的id值也去掉(改为$location.hash('') 或者$location.hash()),这样跳转的url上就不会带上id。

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
11
獲贊與收藏
24

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消