首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular URL数据生成

Angular URL数据生成
EN

Stack Overflow用户
提问于 2020-05-11 10:17:00
回答 1查看 41关注 0票数 0

我正在寻找一个解决方案,能够生成数据的基础上,什么网址进入我的网站之前进入。假设我的网站有域名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能够生成关于角度组件的数据。

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-11 10:25:29

如果我正确理解了您的问题,我想您只需在路由模块中创建不同的路由,例如

代码语言:javascript
复制
const routes: Routes = [
{
path: 'routeA',
component: SameSampleComponent
},
{
path: 'routeB',
component: SameSampleComponent
}
];

然后在组件内部简单地添加

代码语言:javascript
复制
private router: Router

添加到构造函数

并调用console.log(this.router.url);以获取当前路径

比这一切更简单的是向路由添加查询参数,比如mywebsite.com/?id=abc123,然后简单地

代码语言:javascript
复制
id: string;
 constructor(private route: ActivatedRoute) { 
 this.route.queryParams.subscribe(params => { 
this.id = params['id'];
 }); 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61721297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档