Meteor, как вызвать клиентскую js-функцию только для элемента, добавленного в коллекцию

В Meteor я хочу, чтобы новые элементы, добавляемые в список, появлялись постепенно. Однако я не хочу, чтобы каждый элемент в списке медленно появлялся, когда что-то добавлен.

У меня есть следующая коллекция, опубликованная сервером и подписанная на клиенте

List = new Meteor.Collection("List");


Meteor.autosubscribe(function () {
  Meteor.subscribe('list'); 
});

у меня есть следующий шаблон:

<template name="list">
  {{#each list}}
    {{> list_item }}
  {{/each}}
</template>

<template name"list_item">
  {{ text }}
</template>

я хотел бы вызывать следующее, когда новый элемент вставляется в коллекцию:

function (item) {
  var sel = '#' + item._id;
  Meteor.defer(function () {
    $(sel).fadeIn();
  });
}

я пытался использование

List.find().observe({
  added: function (list_item) {
    var sel = '#' + list_item._id;
    Meteor.defer(function() {
      $(sel).fadeIn();
    });
  }
});

Однако функция вызывается для каждого элемента в списке при добавлении нового элемента списка _, а не только для одного нового элемента.

7
задан Josh Petitt 25 April 2012 в 00:48
поделиться