2017-07-11 46 views
0

我用angular2 NGX-cookie來獲取Cookie,但我得到了這個問題...angular2 NGX cookie的參考了問題

Exception: Call to Node module failed with error: ReferenceError: document is not defined 

,這是我的構造函數注入

constructor(private cookie:CookieService) { 
    this.cookie.get(".AspNetCore.Identity.Application"); 

} 

我怎麼能解決這個問題?

+0

你在構建項目或運行時遇到這個錯誤嗎? –

+0

它在運行時... –

+1

野生猜測在這裏,但也許嘗試將您的調用移動到'this.cookie.get()'到'ngOnInit'方法。一般來說,你應該避免在你的構造函數中有可能失敗的邏輯。如果你的組件有一個'ngOnInit'方法,Angular會在你的組件初始化完成後觸發它。 –

回答

0

當你的構造函數被調用時,你的組件通常不會被初始化。理想情況下,您的構造函數只能用於實例化變量,不應包含任何可能觸發異常的邏輯。

相反,您應該在組件上實現OnInit接口。這會導致Angular在您的組件初始化後調用ngOnInit方法。

import { Component, OnInit } from '@angular/core'; 
import { CookieService } from 'ngx-cookie'; 

@Component({ 
    templateUrl: './app.component.html' 
}) 
export class AppComponent implements OnInit { 
    title = 'app'; 

    constructor(private cookie:CookieService) { } 

    ngOnInit() { 
    this.cookie.get(".AspNetCore.Identity.Application"); 
    } 
}