【问题标题】:how to render only one template instance in meteor如何在流星中只渲染一个模板实例
【发布时间】:2013-07-04 19:53:21
【问题描述】:

您好,我有以下模板:

<template name="users">
<ul id="item-list">  
   {{#each trackedUser}}
    <li id="{{_id}}"> 
        <span class="name">{{mUsername}}</span>
        <p><span class="description">{{mDescription}}</span></p>  
    </li>  
    {{/each}}
</ul>
</template>

有了这个助手:

Template.users.helpers({
  trackedUser: function() {
    var curs = TrackedUser.find();
    users = curs.fetch();
    return users;
  }
});

问题在于,在这种情况下,对于每个新用户,所有用户都在 dom 中享有声誉。

有没有更好的方法来编写这段代码,以便每个新用户只有

<li id="{{_id}}"> 
            <span class="name">{{mUsername}}</span>
            <p><span class="description">{{mDescription}}</span></p>  
        </li>  

重绘了吗?

谢谢

【问题讨论】:

    标签: templates meteor


    【解决方案1】:

    避免使用fetch。当您使用fetch() 时,您不会将光标传递给车把,因此它不能仅重新渲染已更改的部分。

    Template.users.helpers({
      trackedUser: function() {
        var curs = TrackedUser.find();
        return curs;
      }
    });
    

    对于模板上的其他任何地方(不在循环中),您还可以使用 Reactivity Isolation 将您的内容包装在 {{#isolate}}..{{/isolate} 块中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多