[英]Angular - how to link from one page to another page and scroll to an anchor in ionic without using id
我正在開發一個離子應用程序。 其中包含我的主頁上的文章列表,每篇文章都有一個評論圖標,該圖標應作為文章頁面中評論部分的鏈接。
如何從該首頁鏈接到文章頁面評論部分的錨點?
更新
由於Angular在#之后使用“URL”,因此無法通過id鏈接到錨點,這是在答案中建議的,所以我正在尋找另一種方法來實現它。 我嘗試了幾種解決方案,但以下都沒有效果。
在這里,有時我得到一個正確的頂部偏移值,但是當我改為另一個文章頁面時,該值保持不變。
這是我做的代碼:
文章列表查看:
<a ng-click="commentLink({{article.id}})">
<img class="social-images" src="icons/comment.svg"/> {{ article.comments.length }}
</a>
文章查看:
<a name="comments-section"></a>
控制器:
$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);
})
};
我也試過這個,基於這篇文章 ,但仍然沒有運氣:
控制器:
$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>
在控制器中:
$scope.goToComment = function() {
return $state.go('whatever the comment state is', {param:param}).then(function(state) {
$location.hash('new-comment');
$ionicScrollDelegate.anchorScroll(true)
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.