我有一个应用程序,ng-show
一旦单击按钮,它就会显示 JSON 文件中的数据 ()。
我遇到的问题是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 以 as 开头
url/#/
,然后在单击按钮时#resultsAnchor
附加,所以我的 URL 现在是url/#/#resultsAnchor
。我的ng-show div
数据将出现一个实例然后消失。由于数据不存在,因此不会发生 anchorScroll。 - 现在我的 URL 设置为
url/#/#resultsAnchor
,第二次点击ng-show div 出现,页面滚动到数据。
一键阻止这种情况发生的原因是什么?
注意:我添加了 $timeout 功能,否则需要点击三下。点击 1 - 锚点附加到 url,点击 2 - 出现数据,点击 3 - 页面滚动。