2人(またはそれ以上)のユーザーが現在Angular 2アプリ内で同じデータを表示しているときをどのようにターゲット設定するかを特定しようとしています。私はノードとmongoDBをバックエンドに使用しています。クライアントとサーバー間の通信にはsocket.ioを使用します。基本的には、2人のユーザーが編集可能なデータを同時に表示していることを知る必要があるため、アラートを送信することができます。2人のユーザーがAngular 2 Appの同じコンポーネントにいるときを特定する方法
-3
A
答えて
2
これにはバックエンドが必要です。 Angular 2アプリは、ユーザーが別のルート(別のコンポーネント)に移動するたびにバックエンドにリクエストを送信する必要があります。
これを行うには、ルーターのイベントを購読することができます。ここでは簡単なコードを紹介しますが、いくつかの調整が必要です。残りの「ルート」オブジェクトのプロパティをチェックアウトし、それに応じて調整します。 (おそらくAppComponentと呼ばれる)あなたのルートコンポーネントの内側に貼り付けます。
constructor(private router:Router) {
this.router.events.subscribe((route) => {
var routeUrl = route.url;
// TODO: send an HTTP request to your backend, telling it the new route that the user is on
});
}
この後のあなたの次のステップは次のようになりますので、私は、他のユーザーは、彼らがそうであるように同じルート上にあるかを知るためにのためにあなたの最終目標であると仮定していますこれを何らかの形でクライアントに伝えるために:AJAXポーリングはwebsocketの設定と同様に1つのオプションです。
関連する問題
- 1. 2人のユーザーが同じメールアドレスに
- 2. Angular 2でappコンポーネントを解決する適切な方法
- 3. 2人のユーザーが同時に同じことをしようとします
- 4. Angular 2リリースの特定のコンポーネントを再レンダリングする
- 5. Express.jsのビューとしてAngular 2 Appを追加する方法
- 6. RouteConfigと他のデコレータをAngular 2コンポーネントでテストする方法
- 7. Angular 2の同じコンポーネント上の複数のAUXルート
- 8. コンポーネントにAngular 2モジュールをロードする正しい方法
- 9. 異なる2つのFacebookアプリケーションを使用する2人の異なるユーザーの同じユーザーID
- 10. rxJsとAngular 2の2つの異なるコンポーネントで同じストリームにsubscribe()を実行
- 11. 実行時にコンポーネントのAngular 2サービスを選択する方法
- 12. Angular 2 appのアーキテクチャーフロー
- 13. Angular 2で複数のコンポーネントを書き出す方法
- 14. Angular 2、Ionic 2のコンポーネントでテンプレートを動的に更新する方法
- 15. 同じコンポーネントを2回レンダリングするonClick
- 16. 同じアクセス許可を持つ2人のユーザーのActive Directory
- 17. 2つのコンポーネントを同じ場所に置く方法
- 18. JavaScript \ Ionic \ Angular 1 AppをTypescriptに移行する\ Ionic 2 \ Angular 2 App
- 19. Yii2の同じフォームの2つのボタンクリックを特定する方法
- 20. Angular 2 Appを実行することができません
- 21. 2人以上のユーザーが同じファイルに書き込むときに、PHPで優先順位を設定する方法は?
- 22. Angular 2で同じコンポーネントを異なるスタイルにすることはできますか?
- 23. PHP疑問。 2人のユーザーが同じスクリプトに同時にアクセスするとどうなりますか?
- 24. DOMレンダリング時間の測定方法Angular 2 app?
- 25. Angular 2 new Router:子コンポーネントのルータパラメータを取得する方法は?
- 26. 2人のOpenIDプロバイダを同じユーザとして関連付ける方法
- 27. 非同期入力の子コンポーネントを持つAngular 2コンポーネントのテスト
- 28. 2 Heroku App同じデータベース
- 29. Angular 2 Appにフォームを送信する
- 30. コンポーネントがAngular 2のネストされたダイアログコンポーネントと対話する方法は?
これは意味をなさない。 2人のユーザーはフロントエンドアプリケーションの2つの完全に別々のコピーを実行しています。いくつかのバックエンドが存在しない限り、彼らは現在どのコンポーネントを使用しているかを知ることができません。 – jonrsharpe
ノードのバックエンドデータベースがあります。これは、2人のユーザーが同じフォームを同時に編集しようとしているかどうかを知る必要があるため、完全な意味があるため、アプリケーションの2つのインスタンスに関係なく、同時にデータベースの値を変更する可能性があります。それが私が確かめようとしていることです。 – Muirik
あなたの*要件*は理にかなっていますが、SPAで何が起こっているのか誤解しているようです。 http://xyproblem.infoを避けるために、より多くのコンテキストを提供することは役に立ちます。彼らが同時にデータベースにデータを送信している場合は、ユーザーがフロントエンドにいる場所を特定するのではなく、チェックしてみてください。それはずっと簡単です。 – jonrsharpe