そこで、Ionic 2 CLI を使用して angular-meteor WhatsApp クローン チュートリアルの上に構築しようとしています。
このチュートリアルでは、基本的client
に meteor プロジェクト内のフォルダーを削除し、ionic プロジェクト内のmeteor-client-side パッケージを使用して meteor サーバーに接続します。
これは完全に正常に機能しますが、リアクティブパラメーターを使用して流星の出版物を購読したいと思います。
Meteor API ドキュメントを検索した後、Sessionオブジェクトを見つけました。
Session は、キーと値のペアの任意のセットを格納するために使用できるグローバル オブジェクトをクライアントに提供します。現在選択されているアイテムなどをリストに保存するために使用します。
Session の特別な点は、リアクティブであることです。テンプレート内から呼び出すと 、 が呼び出される
Session.get("currentList")
たびにテンプレートが自動的に再レンダリングさSession.set("currentList", x)
れます。
Meteor サブスクライブ ドキュメントでは、次の例を見つけることができます。
Tracker.autorun(function () { Meteor.subscribe("chat", {room: Session.get("current-room")}); Meteor.subscribe("privateMessages"); });
これにより、現在のルームのチャット メッセージとプライベート メッセージに登録されます。Session.set("current-room", "new-room") を呼び出してルームを変更すると、Meteor は新しいルームのチャット メッセージをサブスクライブし、元のルームのチャット メッセージをサブスクライブ解除し、プライベート メッセージを引き続きサブスクライブします。 .
それはまさに私もやりたいことです。しかし、Session のドキュメントに記載されているように、session は meteor プロジェクトに追加する必要があるパッケージです。
アプリケーションにセッションを追加するには、ターミナルで次のコマンドを実行します。
meteor add session
私の質問ですが、meteor-client-side パッケージにセッションを追加する方法はありますか?
呼び出そうとするとSession.set()
、実行時に失敗しますSession is not defined
私の推測では、 accounts-base-client-side のようなセッション機能 (基本的にはセッション クライアント側の npm パッケージ) を抽出する npm パッケージが必要になると思います。
これを行う他の方法はありますか?独自のセッションクライアント側を構築するにはどうすればよいですか?
meteor プロジェクトで実行しようとしましたが、フォルダ内meteor add session
のどこにも Session のコードが見つかりませんでした。.meteor
npm_modules
meteor GitHubも調べましたが、彼らが持っているSession.jsファイルにはドキュメントしか含まれていません
このようなことを行う方法についての入力はいいでしょう
アップデート:
accounts-base-client-side パッケージを調べたところ、スクリプトを使用して自動生成されていることがわかったので、現在、このスクリプトを accounts-base ではなく Session で動作するように調整しようとしています。私の試みはhttps://github.com/AwsmOli/session-client-sideにあります。
まだ作業中ですが、すぐに動作するようにする必要があります
更新 2:
私の答えを見てください、私のセッションクライアント側は今働いています:)