当我从弹出窗口导航到页面时,禁用了ionic2中的滚动

时间:2016-07-21 16:21:12

标签: typescript angular ionic2

Ionic2禁用页面中的滚动,如果我从弹出窗口导航到它,问题详情如下:

我有3个页面,其中一个是包含此代码的时间轴:

  let popover = Popover.create(ItemListPage, {items: data.data});
  this.nav.present(popover);

如代码时间轴中所示调用一个popover:ItemList,它具有以下代码:

close() {
   this.viewCtrl.dismiss();
 }

 showUserProfile(user){
   this.close(); //I added this line to check if the popover is the reason
   this.nav.push(UserProfilePage, { userToShow: user});
 }

如代码所示,当popover中的一个项目发生click事件时,会调用showUserProfile函数,它会关闭popover(我只添加了这一行来检查popover是否是错误的原因) ,然后导航到另一个页面:UserProfilePage。

在UserProfile页面中,我有一个滚动条,当我从itemListPage popover导航到UserProfilePage时,除了这个滚动条之外,它在所有情况下都能正常工作。在这种情况下,滚动条只有在我更换时才有效         this.nav.push(UserProfilePage,{userToShow:user});

    this.nav.setRoot(UserProfilePage, { userToShow: user});

我不确定为什么会这样,我该怎么做才能解决它。 PS:我不想关闭popover,我希望用户回到它,我只是添加它来检查错误原因。

1 个答案:

答案 0 :(得分:0)

this.viewCtrl.dismiss();返回一个promise,所以正确的用法应该是:

close() {
   return this.viewCtrl.dismiss();
 }
 showUserProfile(user){
   this.close().then(data =>{
       this.nav.push(UserProfilePage, { userToShow: user});
   });
 }