我正在寻找一个解决方案,能够生成数据的基础上,什么网址进入我的网站之前进入。假设我的网站有域名mywebsite.com。方法如下:
如果用户访问mywebsite.com/A:
console.log(A)
如果用户访问mywebsite.com/B:
console.log(B)
从字面上看就是这么简单。
mywebsite.com/A mywebsite.com/B与下面解释的页面相同。
现在,对于Angular上的“蛮力”解决方案,我将简单地创建不同的页面,并将url路由到该页面。然而,这些新页面中的每一个都将具有完全相同的html布局,因为唯一能区分它们的是一小段代码。因此,为什么这样做是低效的。
显然,这个任务变得有点低效,如果我说是10页的话。我不想用相同的html生成10个页面,只是为了在这个例子中console.log一些不同的东西。
实际上,我不想误导您思考页面;我觉得这可以在Angular中的一个组件上完成。这不是一个页面问题,而是一个数据问题:只要url可以在第一个页面上生成某种类型的唯一数据,那么通过组件交互在工作流程中携带该信息是微不足道的。
值得一提的是,我在可以创建页面链接的大公司中多次看到这一点:想想谷歌hangouts,页面上的数据(唯一的聊天室)是由一个url google.com/blabla123465adsfas或其他东西生成的。显然,谷歌没有数千个独立的网页待命;如果这有意义的话,它最像是同一个网页。
这很难解释,也许这就是为什么我找不到任何关于这方面的文档。最大的问题是,这是否可以在没有任何后端设置的情况下完成,这将是一个巨大的好处。
这可能是一个非常简单的解决方案。
DR Angular:我是否可以基于访问的url生成受控数据,而不必为每个唯一的url创建新的页面。或者更高层次的:唯一的url能够生成关于角度组件的数据。
非常感谢!
发布于 2020-05-11 10:25:29
如果我正确理解了您的问题,我想您只需在路由模块中创建不同的路由,例如
const routes: Routes = [
{
path: 'routeA',
component: SameSampleComponent
},
{
path: 'routeB',
component: SameSampleComponent
}
];然后在组件内部简单地添加
private router: Router添加到构造函数
并调用console.log(this.router.url);以获取当前路径
比这一切更简单的是向路由添加查询参数,比如mywebsite.com/?id=abc123,然后简单地
id: string;
constructor(private route: ActivatedRoute) {
this.route.queryParams.subscribe(params => {
this.id = params['id'];
});
}https://stackoverflow.com/questions/61721297
复制相似问题