I like the approach I ended up going with.

Every page, or view, has its own ViewModel (essentially an object that
represents the state of that view). In that ViewModel, I store a
lastScrollPos variable holding the last known scroll position. As I scroll,
I save the new scroll position. When a view is attached, it checks to see
if we have an existing ViewModel and, if so, it uses that its
lastScrollPos. A new ViewModel uses the lastScrollPos default value of 0.

See it in action at http://woven.co.
Code:
https://github.com/woven/dart-communities/blob/master/lib/src/client/view_model/base.dart#L6
https://github.com/woven/dart-communities/blob/master/lib/src/client/components/inbox_list/inbox_list.dart#L305-L316


On Wed Jan 07 2015 at 12:40:16 PM <[email protected]> wrote:

> I'm currently running into this scroll position issue as well when using
> core-pages.  I noted the P2 label for this issue on https://github.com/
> Polymer/core-pages/issues/8
> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FPolymer%2Fcore-pages%2Fissues%2F8&sa=D&sntz=1&usg=AFQjCNHIOQVq84cNCd9MY1fjDEXWiFc53g>
>  .
> Sorry, but I'm not very familiar with GitHub labelling so am unsure as to
> it's current status.  I'm just looking for a way to reset the vertical
> scroll position to scrollTop when another page is selected.  Is there a way
> to easily accomplish this?
>
>
>
> On Thursday, July 31, 2014 2:43:09 PM UTC-7, Eric Bidelman wrote:
>
>> I'm also interested in what techniques people use to deal with this.
>>
>> We actually handle the scrolling position on the rest of the site like
>> this <https://github.com/Polymer/docs/blob/master/js/app.js#L141:L147>.
>> When the injected page is loaded, we scroll to the top (or to the anchor if
>> there's a hash).
>>
>> The fact that it doesn't behave the same in the element docs is a bug
>> <https://github.com/Polymer/docs/issues/570>.
>>
> On Wed, Jul 30, 2014 at 9:26 PM, David Notik <[email protected]> wrote:
>>
>  So even the Polymer website has this issue. This is an SPA-world problem.
>>>
>>> Repro: Go to http://www.polymer-project.org/docs/elements/core-
>>> elements.html, click on e.g. core-ajax on the left and scroll down to
>>> the middle, then goto core-xhr. Note the scroll position.
>>>
>>> What are some best practices considering that I a) want to avoid
>>> behavior like the above, but also b) want to preserve the scroll position
>>> for when I use the back arrow to goto a page I've already been? It'd be
>>> nice if core-pages had support built in.
>>>
>>> I've opened an issue as well: https://github.com/
>>> Polymer/core-pages/issues/8
>>>
>>> Originally brought up here: http://stackoverflow.
>>> com/questions/25046892/best-practice-for-resetting-scroll-
>>> position-between-pages
>>>
>>> Follow Polymer on Google+: plus.google.com/107187849809354688692
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Polymer" group.
>>>
>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to [email protected].
>>
>>
>>> To view this discussion on the web visit https://groups.google.com/d/
>>> msgid/polymer-dev/c1a46da2-bd24-427f-8447-c4613cf457f1%
>>> 40googlegroups.com
>>> <https://groups.google.com/d/msgid/polymer-dev/c1a46da2-bd24-427f-8447-c4613cf457f1%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>

Follow Polymer on Google+: plus.google.com/107187849809354688692
--- 
You received this message because you are subscribed to the Google Groups 
"Polymer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/polymer-dev/CACekCDkihFKJ0Vtng5xoQWZ2GKMAV%3D2n1ph9Ns4O-hcFu0wbww%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to