0

まず、私は Meteor 自体ではなく Angular-Meteor を使用しているため、原理は同じです。私がする必要があるのはhelper、リソースが有効かどうかを関数で検証し、その結果に基づいて決定を下すことです。

findコレクションの機能はクライアント側で同期していると思いfindOneましたが、そうではないか、間違った方法でやっているようです。

次のコードがあります。

this.helpers({
      post() {
        let _post = Posts.findOne({
          _id: this.postId
        });

        if( typeof _post == 'undefined' )
          return this.$state.go('404');

        return _post;
      }
    });

this.postIdUrl パラメータから取得されます。アプリをナビゲートしているときは、すべて機能します。しかし、ページを更新すると、this.postId定義されていますがPosts.find()返さundefinedれ、明らかに 404 ページに移動します。

このシナリオを回避するにはどうすればよいですか?

4

2 に答える 2