Angular 2中资产的虚荣URL



我有我想住在/tipstips.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");
    }
}

您可以使用查询参数进一步概括此组件,以确切地知道在哪里查找文件。

当前路径或重定向路径应具有角度为单位。 因此,如答案之一所述,必须在组件中添加逻辑

最新更新