动态添加元素到页面顶部

nl pkr

问题:我有一个带有tr的表,该表具有来自表的数据,当我在Mongo中插入元素并将其发布到我的页面上时,该元素添加在表的底部

    Posts = new Mongo.Collection('posts');

    Meteor.publish('allPosts', function(){
        return Posts.find({}, { sort: { date: -1 }} );
    });

    Meteor.subscribe("allPosts");

    Posts.insert({
      date: 1
    })

    Posts.insert({
      date: 2
    })

Posts.insert({
      date: 3
    })
<table class=" table">
      {{#each posts}}
          {{> postJobs}}
      {{/each}}
</table>

<template name="postJobs">
  <tr class="smallInfo">
    <td>{{date}}</td>
  </tr>
</template>

在DOM中,我有:

    <table>
      <tr>
        <td>1</td> // must be 3
      </tr>
      <tr>
        <td>2</td> // must be 2
      </tr>
<tr>
        <td>3</td> // must be 1
      </tr>
    </table>

我最后的所有插入内容必须添加到页面顶部(表)

编辑:我的问题与集合中的动态插入(我知道-1 gramatik错误)示例:

Meteor.startup(function(){
  Meteor.setTimeout(function(){Test("10");}, 1000);
  function Test(x)
{
  Posts.insert( {
    submitDate: moment().format()
  });
}
  Meteor.setTimeout(function(){Test("10");}, 10000);

如果我按SubmitDate排序,它将显示为:

<tr><td>10-10-10</td></tr> // must be 10-10-20
<tr><td>10-10-20</td></tr> // must be 10-10-10

但是当我刷新页面时(F5)一切正常

<tr><td>10-10-20</td></tr> 
<tr><td>10-10-10</td></tr> 
汤姆·弗罗伊登伯格

为什么不对降序进行排序?

{sort:{date:-1}}

汤姆干杯

更新:

您可以在我准备的MeteorPad上找到一个实时示例:

http://meteorpad.com/pad/Ba5DTe94NjFi3ZTPA/Playground_Flow-Router_Chat

您必须在客户端而不是publish方法中进行排序。

这就是为什么您第一次进行排序,但随后又进行插入排序的原因。

如果您在客户端进行排序,find()则minimongo将在每个新文档上进行排序

希望这对您有所帮助。汤姆

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章