成功显示推入页面后,绑定了(click)='doSomething()'的所有元素在推入页面中的任何位置均不起作用。推入的页面还具有ion-slides元素,当滑动到新幻灯片时,所有单击事件会立即注册(在浏览器和android dev应用中尝试过)。刷新框架可以解决此问题。不知道这是我的代码中的错误还是问题。

initMap() {
  let self = this;

  //other code is here to make map, init markers etc. all working fine

  google.maps.event.addListener(marker,'click',()=> {
    self.openPage();
  });
}


函数openPage:

openPage(){
  this.navCtrl.push(PlacefeedPage);
}


值得注意的是:如果我从其他任何地方调用openPage,则可以100%正常运行

最佳答案

在寻找了更长的时间后,我找到了解决方案。对于遇到此问题的任何人,诀窍是使用NgZone(将其导入,在构造函数中声明),然后可以使用:

self.ngZone.run(()=>{
    self.openPage();
 });

10-04 13:19