我采用了棱角分明的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