0

我已经阅读了使用 Meteor 构建 Web 应用程序的教程,但我仍然对标准 JS 函数调用应该放在哪里感到困惑,以便它们只在适当的位置被调用一次。

例如我有以下两个模板

<template name="list">
    <ul>
       {{> listItem}}
    </ul>
</template

接着 ...

<template name="listItem">
    <li>Item</li>
</template>

如果我想对每个 li 标签执行 DOM 操作,我应该将 JS 放在哪里以及 Meteor 的“东西”(抱歉不确定正确的术语)需要什么?

它应该在 list.js 中还是在 listItem.js 中?我只需要它运行一次,所以我会想到 list.js,但从技术上讲,JS 正在应用于 listItem 模板。

它应该在 Meteor.template.rendered 事物中还是 Meteor.template.created 事物中?它应该使用其他东西还是不应该在任何东西里面?

抱歉,如果这有点令人困惑,我基本上想知道这段代码将位于哪个文件以及如何使用它,以便它只运行一次。

非常感谢任何帮助,谢谢!

4

1 回答 1

1

如果你想在每个<li>渲染后执行 Javascript 函数,我认为将代码放在listItem.js.

为了让您的代码“执行一次”,请Template.listItem.rendered = function () { ... };按照Meteor docs将其放入。

我有一次吓人的引号,因为它不仅是一次,每次重新渲染模板时都会触发,这可能是也可能不是你想要的。正如您所注意到的,还有Template.listItem.created = ... 如果没有更多信息(您<ul>将绑定到反应式数据源,还是静态数据源等?),我无法给您更好的建议。

于 2013-06-30T01:20:49.610 回答