我有一个应用程序,一旦点击一个按钮就会从JSON文件中显示数据(ng-show
)。
我遇到问题的是anchorScroll,它只会在点击按钮两次后滚动到锚点。我需要它才能在第一次点击时工作。
这里应该发生魔法,但不是
var onSearchComplete = function(results){
$scope.showResults = true; //ng-show listens for this to be true
$scope.results = results;
$timeout(function() {
$location.hash('resultsAnchor');
$anchorScroll();
});
};
这就是我所知道的:
url/#/
,然后点击按钮时,
附加了#resultsAnchor
,因此我的网址现在为url/#/#resultsAnchor
。
然后,我的数据的ng-show div
将出现在实例中
消失。没有anchorScroll,因为数据不存在。url/#/#resultsAnchor
,而第二次点击
显示ng-show div,页面滚动到数据。什么是通过一次点击停止这种情况?
注意:我添加了$ timeout功能,否则需要三次点击。单击1 - 将锚点附加到URL,单击2 - 出现数据,单击3 - 页面滚动。
答案 0 :(得分:0)
我刚遇到类似的问题,并通过在哈希中添加位置前缀来纠正。
location.hash = '/details#memberTop';
$anchorScroll();
最终导航到:
URL /#/细节#memberTop