'보여주기'후 페이지의 요소로 스크롤하려고합니다. I.E. 나는 아주 긴 사용자 목록을 가지고 있으며 목록으로 표시합니다. 각 요소에는 클릭 할 수있는 편집 아이콘이 있습니다. 클릭하면 페이지 맨 위에있는 사용자 양식이 표시됩니다. 그런 다음 그 위치로 스크롤하고 싶습니다. 편집 사용자가 클릭에angularjs로 스크롤
// helper method to scroll
$scope.scrollTo = function (id) {
$location.hash(id);
$anchorScroll();
}
:
$scope.editUser = function (user) {
$scope.user = user; // set user
$scope.setShowUserForm(true); // show edit form
$scope.scrollTo('admin-form'); // scroll to the form
}
이 처음을 제외하고 잘 작동합니다. 내가 DOM을 확인하고 내 'user-form'요소가 DOM에 있지만 숨겨진 것이므로 원하는 것입니다. 편집 사용자를 처음 클릭하면 스크롤이 작동하지 않습니다. 처음 실패하면 모든 것이 정상입니다. 나는 무엇이 바뀌 었는지 확신하지 못한다.
기본적으로 표시 할 양식을 설정하여 DOM에 있었고 편집을 처음 클릭했을 때 표시되도록했습니다. 그것도 내 문제를 해결하지 못했습니다. 그래서 그것의 DOM 여부에 상관없이 숨겨진 또는 첫 번째 스크롤 실패합니다.
내가 뭘 잘못하고 있는지 알기!
편집 :
는 내가 무슨 일이 일어나고 있는지 알고 있다고 생각하지만 난 그것을 해결하는 방법을 모른다. 내 응용 프로그램에서 라우팅을 사용하고 있습니다.
/#/주 /#/관리자가 문제를 일으키는에 내가 스크롤을 사용하고
그것의 내 관리자 페이지 : 내가 좋아하는 경로를 가지고있다. 경우
/#/관리 번호 관리 형태
: 나는 내 URL을 변경 스크롤 각도 사용할 때
<div id="admin-form">
...
</div>
문제있다 : 여기로 스크롤 할 HTML입니다 그것이 루트 컨트롤러를 치고 스크롤이 발생하지 않는 이유 인 내 관리자 페이지를 다시로드하는 것처럼 보입니다. 일단/#/admin # admin-form url을 입력하면 각도가 내 경로의 변경 사항을 보지 못하고 페이지를 다시로드하지 않기 때문에 스크롤이 작동합니다. 하지만 내 URL을/#/admin으로 변경하고 각도로 스크롤하는 버튼을 클릭하면 URL이/#/admin # admin-form으로 다시 변경됩니다.
이것이 예상대로 나올 것이라고 확신하지만 어떻게 수정해야하는지 잘 모릅니다. 아니면 할 수 있다면.
더 많은 코드를 볼 수 있습니다.나는 당신이 지시어 내에서 이것을한다고 가정합니까? –