首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 5: Google Picker和导航break target组件

Angular 5: Google Picker和导航break target组件
EN

Stack Overflow用户
提问于 2018-03-20 19:36:47
回答 1查看 157关注 0票数 0

我在Angular 5应用程序中使用Google Picker时遇到了问题。

在选择器回调中,我隐藏了选择器,然后导航到另一个页面。但是目标页面的加载很奇怪:前一个页面的一些元素仍然在那里,新的元素部分显示。几秒钟后,或者手动重新加载页面后,一切看起来都很好。Google Picker注入的html似乎破坏了一些东西。

下面是我的选择器回调:

代码语言:javascript
复制
onPickerChosen(data: any) {
  const action = data[google.picker.Response.ACTION];
  if (action === google.picker.Action.CANCEL) {
    this.picker.setVisible(false);
    this.router.navigate(['/home'], { replaceUrl: true });
  } else if (action === google.picker.Action.PICKED) {
    this.picker.setVisible(false);
    // ...
    this.router.navigate(['/map-edit', googleFileId]);
  }
}

我必须处理一些东西吗?(我也尝试过使用this.picker.dispose())。有人能帮我吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-03-20 22:59:45

我用一种不好的方式解决了这个问题,但是它起作用了:在页面改变之前强制角度刷新。

所以:

代码语言:javascript
复制
this.router.navigate(['/home'], { replaceUrl: true });

变成:

代码语言:javascript
复制
this.zone.run(() => {
  this.navigate(['/home'], { replaceUrl: true });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49383206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档