所以我嘗試建立的ontop的the angular-meteor WhatsApp clone tutorial using Ionic 2 CLI流星:會話的客戶端
本教程基本上刪除流星項目client
文件夾,並使用meteor-client-side package離子項目中連接到服務器的流星。
這工作得很好,但現在我想訂閱流星發佈與反應參數。
搜索流星API文檔後,我找到了Session對象:
Session provides a global object on the client that you can use to store an arbitrary set of key-value pairs. Use it to store things like the currently selected item in a list.
What’s special about Session is that it’s reactive. If you call
Session.get("currentList")
from inside a template, the template will automatically be rerendered wheneverSession.set("currentList", x)
is called.
在Meteor Subscribe Documentation你可以找到下面的例子:
Tracker.autorun(function() { Meteor.subscribe("chat", {room: Session.get("current-room")}); Meteor.subscribe("privateMessages"); });
This subscribes you to the chat messages in the current room and to your private messages. When you change rooms by calling Session.set("current-room", "new-room"), Meteor will subscribe to the new room’s chat messages, unsubscribe from the original room’s chat messages, and continue to stay subscribed to your private messages.
這正是我想做的事情了。但作爲the Session documentation狀態,會是一個包我要補充到流星項目:
To add Session to your application, run this command in your terminal:
meteor add session
現在我的問題,有沒有什麼辦法來增加會話流星客戶端軟件包?
如果我只是試圖調用Session.set()
失敗上運行時與Session is not defined
我的猜測是,我需要一些NPM包,提取會話功能(基本上是一個會話,客戶端NPM包),如accounts-base-client-side
是否有其他方法可以做到這一點? 我將如何構建自己的會話 - 客戶端?
我試圖在我的流星項目中運行meteor add session
,但無法在.meteor
文件夾和npm_modules
文件夾的任何位置找到會話的代碼。
我也看了成meteor GitHub但他們有Session.js文件包含only documentation
任何輸入如何做這樣的事情將是很好
更新:
我已經研究了accounts-base-client-side包,發現它們是使用腳本自動生成的,所以我現在正在試圖使這個腳本適用於Session而不是基於帳戶。 你可以找到我在嘗試:https://github.com/AwsmOli/session-client-side
在進行的工作,但我應該得到它的工作很快
更新2:
見我的回答,我的會話的客戶端是現在工作:)
另一種方法可能是使用rxjs observables - 您已經在您的項目中使用了該庫,以遵循該教程。 – JeremyK