momentjs moment()函数使得在angular2中延迟加载时UI被冻结

时间:2016-11-24 23:27:21

标签: angular lazy-loading momentjs

我正试图展示一个" loading ..."在加载惰性路由时Angular2中的文本,但奇怪的是,只要我使用momentjs中的moment()函数,在延迟加载期间UI就会被冻结,从而导致"加载..."导航完成后才显示。

我使用下面的代码来显示和隐藏" loading ..."文本:

router.events.subscribe(ev => {
  if (ev instanceof NavigationStart) 
  { 
    console.log("Navigation started");
    this.isNavigating = true; 

  }
  if (ev instanceof NavigationEnd || ev instanceof NavigationError || ev instanceof NavigationCancel) {
    console.log("Navigation ended");
    this.isNavigating = false; }
  })

以下是展示这个问题的内容,但不幸的是,我不知道如何在这个问题中使用momentjs来证明这个问题:

https://plnkr.co/edit/nXJE24ilpE9SS68kgQbG?p=preview

这就是我计划做的事情,这个插件工作正常,但只要我使用moment()函数(任何地方),UI就会在加载过程中冻结。

如果有人可以提供帮助,我真的很感激。

1 个答案:

答案 0 :(得分:0)

对于任何面临同样问题的人来说,我只是通过链接到momentjs库而不是通过NPM安装使用它来使用momentjs,它修复了问题。这很简单,但花了我一些时间才弄明白。 这是一些简单的输入.d。:

declare function moment(): any; declare function moment(date): any;
declare namespace moment { class Moment {
}
function locale(string): any;
}

希望你喜欢!