我採用了棱角分明的scrollTo
和anchorScroll
這樣的:如何停止角度重新加載時的地址改變
app.controller('TestCtrl', function($scope, $location, $anchorScroll) {
$scope.scrollTo = function(id) {
$location.hash(id);
$anchorScroll();
}
});
<a ng-click="scrollTo('foo')">Foo</a>
<div id="foo">Here you are</div>
我的問題是,當我點擊鏈接頁面滾動下來,但在案件的50%頁面重新加載,因爲URL中的哈希值發生變化。
我如何防止重新加載頁面角?
更新: 我發現這裏
https://groups.google.com/forum/?fromgroups=#!msg/angular/BY2ekZLbnIM/MORF-z2vHnIJ
是
The $location service broadcasts a $locationChangeStart event. You can observe that and call event.preventDefault() to stop the navigation. Nice!
任何人都可以告訴你怎麼觀察的事件,可以防止默認
我已經把在scrollTo功能和它的作品,但問題是,然後我的其他點擊左側菜單上停止工作,因爲這是chnaging哈希爲好。我怎麼只能防止在particualr點擊鏈接時,只有 – user1865341 2013-03-19 01:09:38
我不知道如果你能。你可能有管理與'$ anchorScroll()'一樣好,甚至重新考慮你的設計這些鏈接。順便說一句,那個片段進入你的控制器功能不是在你的'scrollTo'功能。 – cezar 2013-03-26 18:28:44