Ionic scrollTop“无法读取属性'scrollTo'为null”(仍然存在于1.0.0-rc.1中)

时间:2015-03-25 04:38:40

标签: ionic-framework

此错误在此处提及:in ionic changing route causes "TypeError: Cannot read property 'scrollTo' of null"

答案说这个bug在beta-13中得到修复,但是我使用1.0.0-rc.1并且仍然出现了这个bug。

就我而言,导航回使用$ionicScrollDelegate.scrollTop()

的网页时会显示错误

更新到rc.1后是否有其他人收到此错误?

编辑: 我发现如果我的视图加载时没有自动调用$ionicScrollDelegate.scrollTop(),则错误不会出现。我是否应该在等待合适时间的特定离子事件中呼叫scrollTop()

5 个答案:

答案 0 :(得分:6)

有同样的问题,即使使用v1.0.0“铀 - 独角兽”。

将滚动调用包装到$ timeout帮助 - 这就是我的代码中的样子:

   $timeout(function() {
                $ionicScrollDelegate.scrollTo(scrollPosition.left, scrollPosition.top);
            }, 0);

答案 1 :(得分:1)

你可以把它放在

$ionicPlatform.ready(function () {
    $ionicScrollDelegate.scrollTop();
})

答案 2 :(得分:0)

为了它的价值,我在这个帖子here上看到了这个解决方案,它适用于我的版本1.0.0-beta.14

如果无法升级到版本1.0.0-beta.14,则可以使用以下内容更改ionic-bundle.js文件:

大约39910行:

Arg 1 is: This has ; bad stuff

大约39813行:

this.scrollTop = function(shouldAnimate) {
  this.resize().then(function() {
    if(typeof scrollView !== 'undefined' && scrollView !== null){
     scrollView.scrollTo(0, 0, !!shouldAnimate);
    }
  });
};

答案 3 :(得分:0)

我迟到了但是得到了同样的错误,但通过调用滚动顶部元素:

var scrollTop = e.detail.scrollTop;

而是:

var scrollTop = $ionicScrollDelegate.getScrollPosition().top;

并使用以下内容修复我:

config

我也使用js滚动,因为它似乎更适合使用scrolla-sista插件,所以我在我的应用程序开始时 $ionicConfigProvider.scrolling.jsScrolling(true); 块中有以下内容

Whether to use JS or Native scrolling. Defaults to native scrolling. Setting this to true has the same effect as setting each ion-content to have overflow-scroll='false'.

他们的docs state

tools:replace="android:icon"

我希望这有助于某人

答案 4 :(得分:0)

请更改

  

e.detail.scrollTop

  

e.target.scrollTop

然后这将工作