2017-07-06 11 views
0

私はユーザーが好きな音楽アルバムのリストを検索して作成できるようにするアプリを作っています。これまでのところ、ユーザーはリストを作成することができます。永続的なユニークなリンクを作成する

しかし、今作成したリストごとに新しいリンクを作成して、ユーザーがソーシャルメディアで共有できるようにする必要があります。誰も私にこのことをやっていく方法を教えてもらえますか?ありがとう!

答えて

1

すでに新しいリストを作成しているので、残りの部分はかなり簡単です。

これらのリストをどこかのデータベースに格納することを前提としています。必要なのは、各リストの固有の識別子を持つ別々のルートを作成することです。この一意の識別子は、あなたが生成したもの(英数字の文字列など)でもかまいません。また、DB内のこのリストのIDと同じように単純なものでもかまいません。

これが完了したら、コンポーネント(たとえばListItemComponent) を作成し、それをルータモジュールルートで使用することができます。あなたのコンポーネントの内部のOnInit

{ path: 'list/:id', component: ListItemComponent }, 

、あなたは

constructor(private route : ActivatedRoute) {} 

ngOnInit() { 
var id = this.route.snapshot.params['id']; 
} 

はあなたのバックエンドからリストを取得し、このIDを使用することができ、このIDを取得することができます。

また、ソーシャルメディアの共有が必要なので、fbなどで共有するときにこれらのルートのメタタグ(タイトル、説明など)を設定する場合は、サーバー側のレンダリングを調べることをお勧めします。

コメントにしたい内容に基づいています。

https://developer.github.com/v3/gists/

このAPIを参照してください。ユーザーがリストを共有したいときはいつでも、このAPIを呼び出して要点を作成することができます。その要点へのURLをレスポンスの一部として取得します。これはドキュメントで非常に明確に説明されています。

POST /gists 

は、この新しい要旨のURLがあると言う -

https://api.github.com/gists/aa5a315d61ae9438b18d

、あなたは何ができるかだけでなく、あなたのウェブサイトにこのID( 'aa5a315d61ae9438b18d')を使用しています。 つまり、yoursite.com/lists/aa5a315d61ae9438b18d と言ってください。上の方法でIDを取得し、それを使用してgithubから要点を取得してください。

GET /gists/:id 

これは機能するはずです。 githubの要点だけではなく、APIを提供するようなもので。 これが役に立ちます。

+0

ありがとうございます。私はdbにリストをまだ格納していないが、それを行う方法の1つと仮定している。代わりに、私はGithubの要点を介して代わりに行うことができると聞いてきました...それはあなたが何か考えているかもしれない何か? – ZeroDarkThirty

+0

要点は、内容の小さな部分(通常は他のコードには接続されていない)に使用されています。私はあなたが要点(匿名のものでさえ許可されている)を作成するためにAPIを使用し、そのリンクを共有できると思いますか?しかし、それはリストがあなたのウェブサイトの一部ではなくなったことを意味します。 –

+0

ああ!待って、私はそこにも、あなたがギブスの欲望が欲しい場合のための回避策があると思う。それを使って答えを編集します。 –

関連する問題