AngularUniversal-如果URL包含不安全字符,Transfer状态为空-重复XHR调用
创始人
2024-10-29 20:30:55
0

当使用Angular Universal时,如果URL包含不安全字符,可能会遇到Transfer状态为空的问题。同时,由于XHR调用的重复触发,这会导致性能问题,降低应用程序的整体速度。

解决这个问题的方法是使用DomSanitizer服务来深入清理URL,并确保其安全性。以下是示例代码:

import { Component, OnInit } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; import { HttpClient } from '@angular/common/http'; import { ActivatedRoute } from '@angular/router'; import { TransferState, makeStateKey } from '@angular/platform-browser'; import { tap, map, filter } from 'rxjs/operators';

@Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.scss'] }) export class AppComponent implements OnInit {

constructor( private sanitizer: DomSanitizer, private http: HttpClient, private route: ActivatedRoute, private state: TransferState ) {}

ngOnInit() { const url = this.route.snapshot['_routerState'].url; const safeUrl = this.sanitizer.bypassSecurityTrustUrl(url);

const key = makeStateKey('data-' + safeUrl);
const urlData = this.state.get(key, null as any);
if (urlData !== null) {
  // 数据已经缓存了!
  console.log('From Cache');
  console.log(urlData);
  return;
}

this.http.get(safeUrl).pipe(
  filter(Boolean),
  map(res => res as any),
  map(res => {
    const data = res.data;
    this.state.set(key, data as any);
    return data;
  })
).subscribe(
  data => {
    console.log('From API', data);
  }
);

}

}

在这个示例中,我们使用了DomSanitizer服务来清理URL,并使用缓存的TransferState来避免重复的XHR调用,提高性能。

请注意,这只是一个示例代码,实际用法可能因

相关内容

热门资讯

wpk俱乐部!wpk俱乐部系统... wpk俱乐部!wpk俱乐部系统,WPk好像真的有挂,详细教程,(有挂解说);一、wpk软件透明挂的定...
必赢教程!wepoke透明黑科... 《必赢教程!wepoke透明黑科技(wepoke有挂)we辅助poker(其实真的有挂)》 we辅助...
德州之星辅助!德扑ai决策软件... 德州之星辅助!德扑ai决策软件,德州wpk果然有挂(详细外 挂教程)是一款可以让一直输的玩家,快速成...
wpk辅助挂!wpK本来真的有... wpk辅助挂!wpK本来真的有挂,wpK果然真的有挂,必赢方法(有挂解密)1、超多福利:超高返利,海...
wepower有外 挂!we-... 1、wepower有外 挂!we-poke有挂(透视辅助)wePoke(一贯真的有挂);详细教程。2...
德扑之星有作弊!德扑人工智能,... 德扑之星有作弊!德扑人工智能,德扑线上其实存在有挂(详细有猫腻教程)1、下载好德扑之星有作弊辅助软件...
攻略教程!wepoke透明真的... 攻略教程!wepoke透明真的(wepokeai代打)wepOke(都是真的有挂);1分钟了解详细教...
wpk德州透视辅助!wpk辅助... wpk德州透视辅助!wpk辅助器小程序,wPK原来真的有挂,详细教程,(有挂技巧)在进入wpk辅助挂...
德扑之星猫腻!德扑计算软件,w... 德扑之星猫腻!德扑计算软件,wepower德州都是真的是有挂(详细数据软件教程)1、金币登录送、破产...
细节方法!wepoke人有挂(... 细节方法!wepoke人有挂(wepoke计算辅助)wepoKe(就是真的有挂)1、很好的工具软件,...