Angular2 返回时组件生命周期函数不被调用的解决方法

这两天使用 Angular2 遇到的一个 @angular/router 的 bug:

症状

@angular/router 版本 3.0.0-beta.2

  1. 使用 safari 浏览器,iOS 的都可以
  2. 打开 Angular2 官方的范例项目
  3. 点击导航栏上的 Heroes 转到 Heroes 列表页面
  4. 后退回到 Dashboard 页面,正常情况下应该有的四个 Heroes 没有出现

桌面 safari 或 iOS 的都可以,使用 router 导航到一个新页面,然后后退,原页面 Component 的生命周期函数不会被调用,导致页面表现不正常。

解决方法

已经有人修复了:fix(router): back button does not work in IE11 and Safari

但至本文成文还没有更新到最新的 router npm 模块里。不急的话等 router 下个版本应该就修复了。临时应急的话可以自行修改项目目录下的node_modules/@angular/router/src/router.js 的 282 和 284 行即可

this.locationSubscription = this.location.subscribe(Zone.current.wrap(function (change) {
    return _this.scheduleNavigation(_this.urlSerializer.parse(change['url']), change['pop']);
}));

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Youngxj

自适应导航网页源码

9382
来自专栏Android小菜鸡

自定义组件——TitleView

  TitleView是一个常用的顶部标题栏组件,操作简单,可以快速搭建,并实现统一管理标题栏的目的。   采用建造者模式,支持快速构建back按钮、标题名、...

773
来自专栏守望轩

Visual Studio 2008 每日提示(六)

#051、循环使用剪贴薄里粘贴的不同内容 原文地址:http://blogs.msdn.com/saraford/archive/2007/10/01/did...

34110
来自专栏小白课代表

更新|PC截图工具的最佳选择。

说到截图,最常用的可能就是QQ自带的截图功能了,简单流畅能满足我们的日常需求,依附于QQ,没有特殊的需求甚至不需要其他的截图软件。

1040
来自专栏计算机编程

SNS项目笔记<八>--Slides显示大图

在浏览大图的时候,我们总有些长图进行查看,在查看的过程中,我们难以一次性查看全部内容,于是我们想,如果在slides里面技能横滑切换,又能竖滑滚动查看就好了。这...

1072
来自专栏ytkah

微信公众平台编辑器可以剪裁和替换正文图片了

  之前微信公众平台后台编辑器上线封面图裁剪功能,时隔近两个月的今天,公众平台编辑器正文图片也可以剪裁和替换了,简单的图片裁剪编辑小编们再也不用放到ps等作图软...

3205
来自专栏静默虚空的博客

详谈如何定制自己的博客园皮肤

如果你仅仅想原封不动的使用本人的定制皮肤,而不想了解实现细节。那么你只需要完成以下几个步骤即可,后面的章节可以忽略。

2690
来自专栏小俊博客

通过JS显示网站运行时间

1424
来自专栏快乐八哥

使用jQuery Tools scrollable注意事项

项目开发中一直使用jQuery Tools中scrollable插件,一直也只是停留在使用上,最多看文档实现如何调用它的prev(spped)和next(spe...

19310
来自专栏HTML5学堂

传统企业站开发 - 页面布局

前几期我们讲解了HTML+CSS的基本知识点,也带着大家分析过一些案例。从简单的页面结构到页面布局的实现,再到页面的优化。我们学习到的东西挺多的,但是在实战开发...

4146

扫码关注云+社区