2016-11-25 2 views
0

У меня есть длинная страница результатов. Когда я нажимаю на элемент (переходя на определенную страницу элемента), а затем возвращаюсь к результату страницы, может оказаться очень полезным восстановить положение прокрутки на странице результатов. У меня есть 2 идеи, которые я на самом деле не нравится:Восстановить положение прокрутки на задней панели

  • добавить параметр в URL страницы результатов, как results?scrollitem=2 (добавление notify:false этому переходу), а затем перейти на страницу товара.
  • , используя $cacheFactory, чтобы сохранить положение прокрутки, а затем использовать его.

Существует более умный способ достичь этого?

ответ

0

Сохраните позицию прокрутки, где он находился в $ rootScope, но чистый подход заключается в том, чтобы хранить в области, которая является локальной директивой, в которой вы перенаправляете.

Я предполагаю, что ваше приложение является одностраничным приложением. Если нет, то $ cacheFactory может работать на вас.

Edit: - пожалуйста, смотрите по этой ссылке, чтобы понять прицел

https://www.undefinednull.com/2014/02/11/mastering-the-scope-of-a-directive-in-angularjs/

+0

Это одно приложение страницу. Я не понимаю этот «магазин в области, который локален для директивы, в которой вы перенаправляете». О какой директиве вы говорите? – alfredopacino

+0

директива, которую вы используете для рендеринга dom –

+0

Я знаю, как работает изолированная область, но с тех пор, как я покинул страницу результатов, область была уничтожена. Я до сих пор не понимаю ваше решение. – alfredopacino