我有我想住在/tips
的tips.pdf
。
当用户在/tips
中手动类型时,我希望将其重定向到/tips.pdf
,最好在新的选项卡中。
当我更新路由模块时,我会得到Error: Cannot match any routes. URL Segment: 'tips'
。
const ROUTES: Routes = [
{
path: '', redirectTo: '/home', pathMatch: 'full'
},
{
path: 'home', component: HomeComponent
},
{
path: 'fun', component: FunComponent
},
{
path: 'tips', redirectTo: '../assets/pdfs/tips.pdf', pathMatch: 'full'
}
]
这是因为我没有组件吗?显然,我不想仅在我的资产文件夹中为固定的PDF创建一个组件。
这是因为您没有任何路由手机'../assets/pdfs/tips.pdf'。第一个重定向是因为房屋与ROUTES
中的第二个条目相匹配。
您不需要Angular来做到这一点,您需要在服务器配置中添加重定向。
我认为Angular可以做到这一点。
您可以尝试的一件事就是创建一个使用window.open
打开URL的虚拟组件。
{
path: 'tips', component: FilOpenerComponent
}
export class FilOpenerComponent {
constructor(private router: Router) {
window.open("../assets/pdfs" + this.router.url + ".pdf");
}
}
您可以使用查询参数进一步概括此组件,以确切地知道在哪里查找文件。
当前路径或重定向路径应具有角度为单位。 因此,如答案之一所述,必须在组件中添加逻辑