更改路线不会立即滚动到新页面中的指定位置

时间:2017-04-17 11:29:01

标签: angularjs scroll controller

我有2个视图/控制器。在销毁controller1时,我会存储controller1的数据列表并在服务中滚动位置并重定向到controller2

当从``controller2回到controller1时,我正在获取controller1的数据列表并从服务滚动位置并加载所有先前加载的数据以及直接滚动到先前存储的位置。

应该发生的是,它应该直接跳转到该位置而不是从顶部滚动到滚动位置。(但问题是它从顶部滚动到存储的滚动位置。)

对此有任何解决方案吗?

1 个答案:

答案 0 :(得分:0)

尝试如下,

  

$ window.scrollTo(0,0);

//service    
this.scrollPositioning= function (param) {
    if (angular.isDefined(param)) {
        $window.scrollTo(0, isNaN(param) ? $(param).offset().top : param);
    }
};

此处参数可以是位置值

//ex. 100 or 700 (y axis) 
//service.scrollPositioning(800);

它可以是你的ui-view的 CSS Class Name ,它可以在窗口中找到并滚动到该特定位置。

//ex. <ui-view class="nesterViewDiv">
//service.scrollPositioning('nesterViewDiv');