2016-11-24 42 views
0

我想在加載懶惰路由時在Angular2中顯示「加載...」文本,但奇怪的是,只要我使用矩( )函數,在延遲加載期間UI被凍結,導致「加載...」在導航完成之前不顯示。momentjs moment()函數使UI凍結,同時在angular2中延遲加載

我使用下面的代碼來顯示和隱藏的「載入中...」文本:

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; } 
    }) 

這裏是一個展示的問題,但遺憾的是 - 我不知道如何使用普拉克在此plunker momentjs來演示該問題:

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

這就是我打算做的,這普拉克工作正常,但只要我使用的那一刻()函數(任意位置)在用戶界面凍結加載過程。

我真的很感激,如果有人可以幫忙。

+0

如果您可以顯示您用來撥打電話的時間和地點的代碼,這將有所幫助。 – Fiddles

回答

0

對於任何面臨同樣問題的人來說,要解決這個問題,我只是通過鏈接到momentjs庫而不是通過NPM安裝來使用它,並使用它來解決問題。這很簡單,但花了一些時間弄清楚。 下面是一些簡單的typing.d.ts:

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

希望你喜歡!