Angular 创建持久的唯一链接

Angular 创建持久的唯一链接,angular,Angular,我正在开发一个应用程序,允许用户搜索和创建他们最喜爱的音乐专辑列表。到目前为止,用户可以创建列表 但现在我需要能够为创建的每个列表创建一个新的和唯一的链接,以便用户可以在社交媒体上共享它。有人能告诉我怎么做吗?谢谢 由于您已经完成了创建一个新列表的部分,剩下的部分非常简单 我假设您将这些列表存储在某个数据库中。您现在需要的是使用每个列表的唯一标识符为每个列表创建单独的路由。这个唯一标识符可以是由您生成的(比如说字母数字字符串),也可以是数据库中这个列表的id这样简单的东西 完成后,您可以创建一个

我正在开发一个应用程序,允许用户搜索和创建他们最喜爱的音乐专辑列表。到目前为止,用户可以创建列表


但现在我需要能够为创建的每个列表创建一个新的和唯一的链接,以便用户可以在社交媒体上共享它。有人能告诉我怎么做吗?谢谢

由于您已经完成了创建一个新列表的部分,剩下的部分非常简单

我假设您将这些列表存储在某个数据库中。您现在需要的是使用每个列表的唯一标识符为每个列表创建单独的路由。这个唯一标识符可以是由您生成的(比如说字母数字字符串),也可以是数据库中这个列表的id这样简单的东西

完成后,您可以创建一个组件(比如ListItemComponent) 然后在路由器模块路由中使用它

{ path: 'list/:id', component: ListItemComponent },
在组件的OnInit中,您可以获取此ID

constructor(private route : ActivatedRoute) {}

ngOnInit() {
 var id = this.route.snapshot.params['id'];
}
您可以使用此ID从后端获取列表

此外,由于您希望共享社交媒体,如果您希望在fb等上共享时为这些路由设置元标记(标题、描述等),我建议您考虑服务器端渲染

基于您在评论中想要的内容。

请参阅此API。当用户想要共享他们的列表时,您可以调用此API来创建要点。作为响应的一部分,您将获得该要点的URL。文档中对此进行了非常清楚的解释

POST /gists
假设这个新要点的URL是-

现在,您可以在您的网站中使用此ID('aa5a315d61ae9438b18d')。 也就是说,假设yoursite.com/lists/aa5a315d61ae9438b18d 从上面的方法中,获取ID,使用它从github获取要点,就完成了

GET /gists/:id
这应该行得通。不仅仅是github Gist,还有任何提供API的东西。
希望这有帮助

谢谢你的意见。我还没有将列表存储在数据库中,但我认为这是一种方法。或者,我听说它也可以通过Github gists完成。。。这是你可能知道的吗?要点只用于一小段内容(通常与其他代码无关),比如讨论和给出与你相关的示例。我想你可以使用他们的API创建一个gist(甚至匿名的也可以),然后共享这个链接,也许吧?但是,那就意味着这些列表不再是你网站的一部分了。啊!等等,我想如果你想要github gists,也有一个解决办法。将使用该选项编辑答案。忘记在答案中添加此选项,但您可以发送任何用户信息,如姓名等。作为要点的一部分。如果我理解正确,我将以JSON格式将每个列表存储为要点。然后,当我想为每个列表提供服务时,我只需向一个gist发出请求(使用gist id),获取json数据并填充我站点中的列表页面(mysite.com/list/gistID)。我走对了吗?