作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在开发一个 ionic 应用程序。在我的主页上有一个文章列表,每篇文章都有一个评论图标,它应该作为文章页面评论部分的链接。
如何从该首页链接到文章页面评论部分的 anchor ?
已更新
由于 Angular 在 # 之后使用“URL”,因此无法通过 id 链接到 anchor ,这在答案中有所建议,因此我正在寻找另一种方法来做到这一点。我尝试了多种解决方案,但以下均无效。
在这里,有时我得到的顶部偏移值是正确的,但是当我切换到另一个文章页面时,该值保持不变。
这是我完成的代码:
文章 ListView :
<a ng-click="commentLink({{article.id}})">
<img class="social-images" src="icons/comment.svg"/> {{ article.comments.length }}
</a>
文章 View :
<a name="comments-section"></a>
Controller :
$scope.commentLink = function(articleId) {
return $state.go('main.article', {id: articleId}).then(function(state) {
var position = $ionicPosition.offset(angular.element(document.getElementsByName('comments-section')));
console.log(position.top);
$ionicScrollDelegate.scrollTo(position.left, position.top);
})
};
我也试过这个,基于这个 article , 但仍然没有运气:
Controller :
$location.hash('comments-section');
var handle = $ionicScrollDelegate.$getByHandle('articleDelegate');
handle.anchorScroll(true);
查看:
<ion-content delegate-handle="articleDelegate">
<a id="comments-section"></a>
最佳答案
如果你的评论部分有一个id(例如。id="new-comment"),那么从首页,你可以尝试:
<a ng-click="goToComment()">...</a>
在 Controller 中:
$scope.goToComment = function() {
return $state.go('whatever the comment state is', {param:param}).then(function(state) {
$location.hash('new-comment');
$ionicScrollDelegate.anchorScroll(true)
})
}
关于javascript - Angular - 如何在不使用 id 的情况下从一个页面链接到另一个页面并滚动到 ionic 中的 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38262391/
我是一名优秀的程序员,十分优秀!