1

この要件を考慮します。

新しい投稿を公開する前に、編集中に、入力時に投稿の内容をレンダリングするプレビュー パネルがあります。

これは実際の投稿ではないため、ローカルの mongodb のみを更新 (およびそこからコンテンツを取得) し、この投稿がサーバーに同期されることを望まないだけです。それを実装する方法は?

テンプレでやってみた

Template.newPost.events
  'keyup .post-content' : (event, templ)->
    event.preventDefault()
    Deps.nonreactive ->
      Post.update({_id: post_id}, {content: event.currentTarget.value })

この

Template.newPost.events
  'keyup .post-content' : (event, templ)->
    event.preventDefault()
    Meteor.call 'updatePostContent', post_id, event.currentTarget.value


Meteor.methods
  updatePostContent: (postId, value)->
    if (this.isSimulation)
      Post.update({_id: postId}, {content: value })
    else
      this.stop()

上記のすべては効果がありません。

私の下手な英語でごめんなさい。

4

2 に答える 2

6

それはあなたのヘルパーにあります。

通常どおりドキュメントを挿入します。ただし、表示するときに、反応性のオンとオフを切り替えることができます。

Template.newPost.helpers({
    yourpost:function() {
        return YourPosts.find({},{reactive: false});
    }
});

またはクエリreactive: falseのオプションとして渡します。a のようなものを使用して true または false の値を取得し、必要に応じて変更できます。findfindOneSession

于 2013-10-29T11:13:42.557 に答える
0

いつでも補助 (クライアント側のみ) コレクションを使用できます。

var cache = new Meteor.Collection(null); // no-name

編集中にドキュメントを操作し、ユーザーがボタンを押したときに最終的にすべての変更を元のコレクションにコピーできsaveます。

于 2013-10-31T00:11:25.820 に答える