0

私は使っている

Template.taskList.onCreated( () => {
  var projectId = FlowRouter.getParam( 'projectId' );
  var postHooks = {
    before: {
      insert: function ( doc ) {
        doc.projectId = projectId;
        return doc;
      }
    }
  };

  Template.instance().subscribe( 'tasks', projectId );
  AutoForm.addHooks( 'addTask', postHooks );
} );

projectId作成されたすべてのタスクに追加し、指定されprojectIdた .

ただし、 with を変更するprojectIdと、フックとサブスクリプションが変更されていないFlowRouter.setParam( 'projectId' ... )ようです。projectId

私は何を間違っていますか?中に入れないといけないのTracker.autorun()ですか?onCreatedの代わりに使っているからonRenderedですか?

4

1 に答える 1

0

はい、実際に使用する必要がありますautorun。その理由は、フロー ルーターのパラメーターはリアクティブなデータソースではないためです。つまり、それらの値が変更されても、それに依存するコードの再評価はトリガーされません。

于 2015-11-08T19:46:51.100 に答える