尽管基础数据没有变化,模板仍然会重新绘制

Llo*_*oyd 7 meteor

任何人都可以告诉我为什么在这个例子中渲染的实时HTML保持清除,然后在无限循环中重绘?这个示例代码最大化了我的笔记本电脑上的CPU ..

环境:

  • 流星0.3.7
  • Mac OS Lion
  • 在Safari 5.1.7,Chrome Canary 22.0.1189,Chrome 21.0.1180,Firefox 11.0和13.0中进行了测试

初始项目创建:

meteor create test
cd test
meteor add coffeescript
mv test.js test.coffee
meteor
Run Code Online (Sandbox Code Playgroud)

test.coffee:

Records = new Meteor.Collection("records")

if Meteor.is_client
    Template.table.records = ->
        Records.find()
    Template.table.rowCount = ->
        Records.find().count()

if Meteor.is_server
    Meteor.startup ->
        if Records.find().count() is 0
            for i in [1..1000]
                Records.insert({some:"test", data: "just", to: "check"})
Run Code Online (Sandbox Code Playgroud)

的test.html:

<head>
  <title>test</title>
</head>

<body>
    {{> table}}
</body>

<template name="table">
    <table>
        <caption>{{rowCount}}</caption>
        {{#each records}}
        <tr>
            <td>{{some}}</td>
            <td>{{data}}</td>
            <td>{{to}}</td>
        </tr>
        {{/each}}
  </table>  
</template>
Run Code Online (Sandbox Code Playgroud)

小智 -1

尝试升级 Meteor。我刚刚在当前的 master 中尝试了这个确切的示例代码(在编写 0.5.2 时)。我在所有 Chrome、Firefox 和 Safari 中打开该页面,并且我的 CPU 使用率非常低。