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