2

だから私は流星のためにamplifyjsパッケージを使用しています。

私はまだ流星にかなり慣れていないので、それを反応的なコンテキストにするのに苦労しています。

私は使用しています

amplify.store( string key )

したがって、これに変更を加えたり値を追加したりすると、それを反映してビューを更新したいと思います。

Meteor.deps または autosubscribe を使用する必要があると思いますが、どこから始めればよいかわかりません。どんな助けでも素晴らしいでしょう。

4

2 に答える 2

4

増幅はサードパーティのパッケージであるため、Meteor コンテキストを使用したり、リアクティブを組み込んだりしません。ただし、独自のリアクティブ ラッパーを簡単に作成できます。これを行うために Meteor.deps.Context と Meteor.deps._ContextSet を使用する方法については、deps ドキュメントを参照してください。

http://docs.meteor.com/#meteor_deps

ここにもビデオチュートリアルを投稿しました: http://www.eventedmind.com/posts/reactivity-with-contexts

于 2012-12-14T02:00:10.503 に答える
1

実際にできることは、set() が呼び出されたときに Amplify のストアに値を格納する Session の「サブクラス」を作成することです。Session のすべてのリアクティブ プロパティを自動的に継承します。これがコードです、それは私のために働いた:

SessionAmplify = _.extend({}, Session, {
  keys: _.object(_.map(amplify.store(), function(value, key) {
    return [key, JSON.stringify(value)]
  })),
  set: function (key, value) {
    Session.set.apply(this, arguments);
    amplify.store(key, value);
  },
});

すべての Session.set/get 呼び出しを SessionAmplify.set/get 呼び出しに置き換えるだけです。set() が呼び出されると、親の Session メソッドが呼び出され、amplify.store() も呼び出されます。「サブクラス」が最初に作成されると、増幅のストアにあるすべてのものをそのキー内にロードします。

ここでリーダーボードの例の実際のバリエーションをテストできます: https://github.com/sebastienbarre/meteor-leaderboard

于 2013-02-02T05:52:04.810 に答える