如何在Angular Universal中设置cookie?

在我们的Angular 4.x项目中,我们使用了Angular Universal和angular2-cookie-law。我意识到Angular Universal不适用于windowdocument等,但我已阅读了一些变通方法。我试过如下:如何在Angular Universal中设置cookie?

if (isPlatformBrowser(this.platformId)) { 

this.showCookieLaw = true;

}

而缠上了我的cookie的法律成分在这样的观点:

<cookie-law *ngIf="showCookieLaw">...</cookie-law> 

但是,这并不工作,到目前为止,还没有发现一种不同的方法。任何人都可以引导我正确的方向?

回答:

如果一个模块使用单独的提供程序作为document.cookie的抽象,则可以为服务器单独定义它。但是,它直接使用document全局,因此负责该操作的提供程序应该在服务器模块中进行模拟。

考虑到the component uses service's seen public method,这是一个应该被掐灭,是这样的:

import { CookieLawService } from 'angular2-cookie-law'; 

exports class MockedCookieLawService {

seen =() => false;

}

...

imports: [CookieLawModule, ...],

providers: [{ provide: CookieLawService, useClass: MockedCookieLawService }, ...]

...

以上是 如何在Angular Universal中设置cookie? 的全部内容, 来源链接: utcz.com/qa/261640.html

回到顶部