我正在使用 Angular 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 中的哈希值发生了变化。
如何防止 Angular 重新加载页面?
更新:我发现这里
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!
谁能告诉如何观察该事件并防止违约