Meteor simple-todos应用程序 - 如何仅为当前用户显示不完整的任务计数?

时间:2017-09-03 15:58:42

标签: meteor

我正在使用this Meteor教程,我已经更新了imports / ui / task.html,只显示创建它们的用户的任务,如下所示:

<template name="task">
{{#if isOwner}}
  <li class="{{#if checked}}checked{{/if}} {{#if private}}private{{/if}}">
    <button class="delete">&times;</button>

<input type="checkbox" checked="{{checked}}" class="toggle-checked" />

  <span class="text">{{text}}</span>

  </li>
    {{/if}}
</template>

但是,我仍然有不完整的计数显示所有用户的任务,我想将其更改为仅登录的用户。这是我认为需要更改的进口/ ui / body.js的一部分

Template.body.helpers({
  tasks() {
  const instance = Template.instance();
if (instance.state.get('hideCompleted')) {
  // If hide completed is checked, filter tasks
  return Tasks.find({ checked: { $ne: true } }, { sort: { createdAt: -1 } });
}
// Otherwise, return all of the tasks
    // Show newest tasks at the top. This is the meat of the thing!
return Tasks.find({}, { sort: { createdAt: -1 } });
  },
incompleteCount() {
return Tasks.find({ checked: { $ne: true } }).count();
  },
});

1 个答案:

答案 0 :(得分:3)

您只需要对本教程中使用的ownerId进行过滤,即可将任务与用户相关联。

incompleteCount() {
  return Tasks.find({ ownerId: Meteor.userId(), checked: { $ne: true } }).count();
},

请注意,当您使用这样的多个条件时,它们是隐式AND。