【发布时间】:2015-10-10 13:27:11
【问题描述】:
我有一个应用程序,一旦单击按钮,它就会从 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 以
url/#/开头,然后当点击按钮时, 附加了#resultsAnchor,所以我的网址现在是url/#/#resultsAnchor。 然后,带有我的数据的ng-show div将出现在一个实例中 消失。由于数据不存在,因此不会出现 anchorScroll。 - 现在我的 URL 设置为
url/#/#resultsAnchor,在 第二次点击 ng-show div 出现,页面滚动到数据。
是什么阻止了这种情况的发生?
注意:我添加了 $timeout 功能,否则需要点击三下。点击 1 - 锚点附加到 url,点击 2 - 数据出现,点击 3 - 页面滚动。
【问题讨论】:
标签: javascript angularjs ng-show anchor-scroll