Angular JS로 처음 몇 시간을 보내고 SPA를 작성하려고합니다. 그러나 경로 변경시 스크롤 위치는 경로 변경 후에도 현재 위치를 유지합니다. 즉, 누군가가 2 페이지에있는 텍스트의 절반을 읽으면이 사람이 두 번째 페이지로 변경 한 후 2 페이지가되면 페이지 중간에있게됩니다. (페이지가 똑같이 긴 경우)
내가 해결책을 찾을 때 나는 단지 반대를 요구하는 사람들을 발견한다. 즉, 그들이 페이지를 바꾸면 스크롤 위치를 바꾸고 싶지 않다. 그러나 나는 그것을 재현하지 못했습니다. Angular JS의 개발이 이것보다 앞서 있었고 내가 상담 한 소스가 구식인지 궁금합니다.
나는 내 문제를 보여줍니다 최소 버전 생성 (간단하게 두 개의 파일을 추가 sample1.html
하고 sample2.html
그것이 작동되도록하는 임의의 내용을.)
<!DOCTYPE html>
<html>
<head lang="en"><title>SPA sample</title></head>
<body data-ng-app="myApp">
<div style="position: fixed;">
<a href="#/">Main</a>
<a href="#/other">Tutorial</a>
</div>
<div data-ng-view=""></div>
<script src="http://code.angularjs.org/1.2.9/angular.min.js"></script>
<script src="http://code.angularjs.org/1.2.9/angular-route.min.js"></script>
<script>
var myApp = angular.module('myApp', ['ngRoute']);
myApp.config(function ($routeProvider) {
$routeProvider
.when('/', {
controller: 'noOp',
templateUrl: 'sample1.html'
})
.when('/other', {
controller: 'noOp',
templateUrl: 'sample2.html'
})
.otherwise({redirectTo: '/'});
});
myApp.controller('noOp', function ($scope) { });
</script>
</body>
</html>
당으로 ngView
문서 :
autoscroll (선택 사항) 문자열 :
ngView가 뷰가 업데이트 된 후 뷰포트를 스크롤하기 위해 $ anchorScroll을 호출해야하는지 여부.
따라서 ng-view
다음과 같이 자동 스크롤을 사용하도록 호출을 변경하기 만하면됩니다.
<div ng-view autoscroll></div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다