0

コレクションの特定の要素を1つフェッチするためだけにfindOneを使用しています。

ただし、これを行うと、それらのコレクションを含むすべてのテンプレート関数が再実行され、コンテンツが更新されます。内容は似ていますが、問題はそれらの要素のいくつかにスタイルを適用していることです。これらの更新はすべてをリセットするだけです。さらに重要なのは、これらの更新は完全に役に立たないということです。

たとえば、次のテンプレートがあります。

Template.content.cars = function () {
    alert("I AM RERUN!");
    return Cars.find();
};

そして別の関数では、私はこれを行っています:

Cars.findOne({ _id: Session.get('current_car') }, {});

なぜ最初のテンプレートが再実行されるのでしょうか?私は何か間違ったことをしていますか?

4

1 に答える 1

1

最初のテンプレートが再実行される理由がわかりません。他に何かが起こっていないことを確認しますか?

ただし、質問に対する一般的な非回答として、コレクション全体に依存するテンプレートが何度も再実行されることを期待する必要があります(たとえば、ページが最初にレンダリングされるときにデータが段階的に読み込まれるため)。meteorでは、この再レンダリングで問題が発生しないようにHTML/CSSを作成する必要があります。

あなたの問題についてもっと知らなければ、私はそれ以上のことを言うことはできません。

于 2012-08-30T06:03:46.103 に答える