2017-08-11 1 views
0

間で保持データをdoesnot {:「1」、ファーストネーム:「ABC」、姓:ID「XYZ」} - 私はエンバーストアでチェック - タブ2では 私は、レコード持って、私はレコードを更新する場合は今エンバーストアタブ1で想定タブ

をTAB1にKLMへの姓を言います。 それから私は、私は、次の戦略を使用していますTAB2

にXYZと姓を見ることができメートル - 1.チェックデータは、データが存在しない場合store.query

を作るstore.peekALL 2でストアに存在しています

私がtab2をリフレッシュするまで、私は最新の値を取得しません。

なぜデータをタブに保存しないのですか?

+0

Tab1とTab2が意味するものを詳しく説明できますか。アプリケーションとは異なるインスタンスですか?アプリケーションの内部タブですか? あなたの質問から少しでも、あなたは更新されたデータを見ることができなかったことを理解しました。それが正しいのであれば、データをEmberストアに更新する方法を私に見せてもらうことができます。 –

答えて

2

ページセッションは、ブラウザが開いている間は続き、ページのリロードとリストアでは で存続します。新しいタブまたはウィンドウでページを開くと、 は新しいセッションを開始します。 - Mozilla DOMストレージガイド

したがって、新しいタブはすべて新しいセッションになります。

あなたはこれがlocalStorageを使用して、ブラウザのタブとの間でデータを同期するコミュニティプラグインです

https://github.com/jerel/ember-storage

試すことができます。

+0

私はemberストアを利用したいです。あなたの提案したプラグインは、単にlocalstorageにデータを保存します。私は複数のコレクションと多くのレコードを持つ可能性がありますので、可能性があります。 –

0

なぜデータをタブに保存しないのですか?

ブラウザはデフォルトでこれを防止します。すべてのブラウザタブは、話すのにそれ自体の小さな世界です。 Ember DataはすべてのデータをRAMに保存しています。これは各ブラウザタブごとに別個のものです。

アプリケーションのすべてのインスタンスでデータを同期できるようにする必要がある場合は、サーバが新しいデータをクライアントにプッシュする手段(例えば、WebSockets)をチェックすることをお勧めします。それ以外にも、ember-storageを使用することをお勧めします。これは、1つのタブにデータを格納して別のタブでデータを取得できる数少ない方法の1つです。

関連する問題