Javascript 动态角度路由和外部内容源
我有一个关于如何最好地解决问题的模式或设计问题;我会简化我的想法,这样我就不会对这个问题产生怀疑: 我有一个简单的两个组件,两个垂直柱角度应用程序,如下所示:Javascript 动态角度路由和外部内容源,javascript,angular,Javascript,Angular,我有一个关于如何最好地解决问题的模式或设计问题;我会简化我的想法,这样我就不会对这个问题产生怀疑: 我有一个简单的两个组件,两个垂直柱角度应用程序,如下所示: <div class="container-fluid"> <div class="row"> <div class="col-3"> <app-sidemenu></app-sidemenu> </div>
<div class="container-fluid">
<div class="row">
<div class="col-3">
<app-sidemenu></app-sidemenu>
</div>
<div class="col-9">
<app-content></app-content>
<router-outlet></router-outlet>
</div>
<div class="col"></div>
</div>
</div>
以下是我需要的帮助:
情景:
我有10个外部托管在GitHub上的.html文件。我需要将每个菜单链接路由到每个.html文件,并在单击每个菜单项时在内容组件中显示每个文件的内容
更简单地描述:每个菜单项都将内容从外部托管的.html文件加载到内容组件中
我读过很多不同的选项,它们只是部分地描述了我想做的事情,所以我真的想知道这是否可行(当我描述它时似乎很容易),如果是的话,我从哪里开始
我不是在寻找一个快速的代码解决方案,而是一个正确的方向,这样我就可以自己解决这个问题,如果有更好的方法,我不会浪费时间。如果我理解正确,您需要通过角度路由重定向外部网页/应用程序。 如果这是您的问题,则没有“正确”的解决方案。这是因为角度中的路由不能替换为外部链接。您可以创建这样一个调用外部Url的方法
但这不是你的解决方案
你们能做的是一个奇怪的解决方案,你们需要为N个外部链接路由N个组件。然后在每个OnInit()方法中使用以下内容:
window.location.replace("WebPage_Url")
不要使用HREF因为在chrome中不起作用
每条路线都应该是这样的:
const appRoutes: Routes = [
{
path: '',
component: HomeComponent
},
{
path: 'Link1',
component: Link1Component
},
{
path: 'Link2',
component: Link2Component
}
现在如果您转到localhost://xxxx/link1这将重定向到您的网页
希望这会有用。你能举个例子说明路线是什么样的吗?这是我遇到的问题。理想情况下,每个路径都会链接到一个外部文件,如:path:github.com/username/file.html,并将其加载到:component:ContentComponentI我不确定是否使用path,因为它很容易混淆。最好使用GET参数和URL编码URL。然后可以检索此url并获取相应的模板。你的url看起来是这样的:
youapp.com/pages?url=https%3A%2F%2Fexample.com%2fome%2Ffile.html
如果我理解正确,路由无法链接到url。这包括内部文件还是本地文件?只是好奇GitHub外部存储需求是否导致了限制,或者Angular是否不是正确的选择(即路径只是链接到组件的名称)。如果后者是正确的,欢迎对其他框架提出任何建议。如果可能的话,我试图保持无服务器。是的,你不能路由URL。关于本地文件,它取决于,例如,如果你想使用静态Json(或视频、音乐Js文件),你可以创建并放入Assets文件夹,然后你可以在任何时候使用正确的路径,我不明白你指的是什么文件。我认为这是对角度的限制,因为此路由是“为给定URL提供特定组件视图的可选服务”。检查此项了解更多信息>检查此项了解更多信息:
const appRoutes: Routes = [
{
path: '',
component: HomeComponent
},
{
path: 'Link1',
component: Link1Component
},
{
path: 'Link2',
component: Link2Component
}