反応計算のセッション変数の値をif
にする必要があり、値が変わると計算が再実行されます。 meteor docsによれば、このユースケースはSession.equals
に最適です。これまでのところは良い、これは私のようにSession.equals
を呼び出して、私の反応計算コードを持っている:うまく機能するために使用Session.equalsはもはや(完全に)反応しませんか? [流星]
if (!Session.equals(key, undefined)) {
// now I know 'key' is defined
...
}
コードが、何らかの理由でそれがそう停止しました。今すぐ([email protected]のバージョン)key
のセッション値は変更されますが、リアクティブ計算は再実行されません。期待されるとき、計算は現在、再実行を取得している - 働く
if (!!Session.get(key)) {
...
}
:私は、コードを交換してきた原因を把握する私の試みの一つで
!
Sesssion.get()
はなぜ動作するのですか?誰でも教えてください。Session.equals()
はありませんか?
関連性があります:セッション変数の値は変更されますが、常に「定義されています」(空でない文字列から別の文字列に変更されるなど)。計算を再トリガーするには十分でしょうか? IOW、おそらくSession.equals
は、1つの定義された値から別の定義された値に変更された値を知るのに十分に「巧妙」なので、計算の再実行が必要でないことを証明します。
私はそれが当てはまると思っていましたが、私はそれをどのように実装するのかよく分かりませんでした。彼らは 'Session.equals()'に与えられたSessionキーの値を評価し、第2のパラメータと外部的に比較する必要があります。その場合、計算のどこかの値に比較参照を格納する必要があります。しかし、第2のパラメータの値がその間に変化していないと仮定することはできますか? – tivoni