Не могу понять, почему страница загружается внизу? Angular Ошибка автопрокрутки UI-Router

В жизни я не могу понять, почему эта главная страница загружается внизу. Является ли это angular ui-router, angular, javascript или CSS проблемой? Я застрял на этом в течение двух часов и не знаю, почему моя страница html загружается внизу, а не сверху, действительно убивает мою самооценку как программиста:/

Вот главная страница: [URL Redacted]

ОБНОВЛЕНИЕ - Я решил эту проблему. Это было с angular UI-Router. См. Мой ответ ниже для простого исправления.

Я использую angular и angular UI-Router, и настройка выглядит так:

default.jade

  doctype html
  html(lang='en', xmlns='http://www.w3.org/1999/xhtml', xmlns:fb='https://www.facebook.com/2008/fbml', itemscope='itemscope', itemtype='http://schema.org/Product')
  include ../includes/head
  body(ng-controller="RootController")
  block content
  include ../includes/foot

index.jade

extends layouts/default

block content
  section.container
    div(ui-view="header")
    div(ui-view="content")
    div(ui-view="footer")

Angular Config.js

window.app.config(function($stateProvider, $urlRouterProvider) {
// For any unmatched url, redirect to "/"
$urlRouterProvider.otherwise("/");
// Now set up the states
$stateProvider
    .state('home', {
      url: "/",
      views: {
        "header":    { templateUrl: "views/header/home.html"   },
        "content":   { templateUrl: "views/content/home.html"  },
        "footer":    { templateUrl: "views/footer/footer.html" }
      },
      resolve: { factory: setRoot }
    })
    .state('signin', {
      url: "/signin",
      views: {
        "header":    { templateUrl: "views/header/signin.html"   },
        "content":   { templateUrl: "views/content/signin.html"  },
        "footer":    { templateUrl: "views/footer/footer.html" }
      },
      resolve: { factory: setRoot }
    })

Ответ 1

Angular UI-Router недавно обновил приложение, чтобы он автоматически прокручивался до новых просмотров, загруженных по умолчанию. Это заставляло страницы моего приложения загружать прокрутку вниз. Чтобы отключить это, просто добавьте следующий атрибут в свой ui-view:

<div ui-view="header" autoscroll="true"></div>

Ответ 2

вот возможное решение, я использовал средство поиска, так как автоматическая прокрутка не работала для меня, поэтому я заставил свое представление прокрутить вверх. Надеюсь, это поможет.

app.run(['$window', '$rootScope', '$location' ,'$cookieStore', '$state', 'CacheManager',  '$timeout', function($window, $rootScope, $location, $cookieStore, $state,CacheManager, $timeout){


$rootScope.$on('$viewContentLoaded', function(){

var interval = setInterval(function(){
  if (document.readyState == "complete") {
      window.scrollTo(0, 0);
      clearInterval(interval);
  }
},200);

});



}]);

Ответ 3

в блоке запуска добавьте:

$rootScope.$on('$stateChangeSuccess', function () {
  $anchorScroll();
 });

Конечно, вам нужно ввести зависимость $anchorScroll

Ответ 4

Я столкнулся с этим вопросом некоторое время назад. Что происходит, вы находитесь на странице 1, прокручиваете страницу, которую я себе представляю, затем нажмите кнопку, чтобы перейти на страницу 2. Затем маршрутизатор не перенастраивает позицию прокрутки, когда вы переходите на следующую страницу. Я исправил это, прокручивая вверх на всех изменениях маршрута.