要动态设置Angular中的base href以修复SVG破坏路由导航的问题,可以按照以下步骤进行:
import { Component, OnInit, Inject } from '@angular/core';
import { Router } from '@angular/router';
constructor(private router: Router, @Inject(DOCUMENT) private document: any) {}
ngOnInit() {
// 获取当前URL
const baseHref = this.document.location.href;
// 提取baseHref中的路径部分
const baseHrefPath = baseHref.substr(0, baseHref.lastIndexOf('/') + 1);
// 设置base href
this.document.querySelector('base').setAttribute('href', baseHrefPath);
// 导航到当前路由
this.router.navigateByUrl(this.router.url);
}
通过以上步骤,我们可以动态设置base href并修复SVG破坏路由导航的问题。