查看詳情以後,返回列表頁沒有停留在原先查看的地方-angularJS問題的解決方法?求大神指教
人生最曼妙的风景,竟是内心的淡定与从容!
如果你的列表頁面是一個分頁的頁面,那麼你需要保存所在頁面的頁數,可能是在url裡面,那麼返回的時候就從url中讀取頁數,加載那個頁數的資料。 如果你的清單頁面是一個很長的頁面,你需要回到原來的位置,那麼你可能需要抽像出一個service來記錄使用者在這個頁面上所處的位置,每次進入這個頁面都要讀取這個service然後scrollTo那個位置。 如果你的清單頁面沒有分頁,也不是很長,那其實最好就回到頁面頂部吧。
scrollTo
針對頁面很長的情況:
js// PagePosition Service angular.module('app').factory('PagePosition', function() { var _top = 0; var _left = 0; return { getPosition: function() { return { top: _top, left: _left } }, setPosition: function(top, left) { _top = top; _left = left; } } });
js
// PagePosition Service angular.module('app').factory('PagePosition', function() { var _top = 0; var _left = 0; return { getPosition: function() { return { top: _top, left: _left } }, setPosition: function(top, left) { _top = top; _left = left; } } });
把這個service注入到你所需要的view或者directive裡面,在用戶滾動事件中修改position,在返回到這個頁面的時候讀取position,並且調用scrollTo來定位。
不過我建議對於頁面太長的情況,最好是你把你的列表分頁顯示,因為即使返回的時候能夠返回之前的位置,用戶體驗也挺差的。
如果你的列表頁面是一個分頁的頁面,那麼你需要保存所在頁面的頁數,可能是在url裡面,那麼返回的時候就從url中讀取頁數,加載那個頁數的資料。
如果你的清單頁面是一個很長的頁面,你需要回到原來的位置,那麼你可能需要抽像出一個service來記錄使用者在這個頁面上所處的位置,每次進入這個頁面都要讀取這個service然後
scrollTo
那個位置。如果你的清單頁面沒有分頁,也不是很長,那其實最好就回到頁面頂部吧。
針對頁面很長的情況:
把這個service注入到你所需要的view或者directive裡面,在用戶滾動事件中修改position,在返回到這個頁面的時候讀取position,並且調用
scrollTo
來定位。不過我建議對於頁面太長的情況,最好是你把你的列表分頁顯示,因為即使返回的時候能夠返回之前的位置,用戶體驗也挺差的。