标准JS功能在Meteor应用程序中的位置是什么?

时间:2013-06-29 17:52:57

标签: javascript web-applications meteor

我已经阅读了使用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中?是否应该使用其他东西,或者它不应该在任何内容中?

很抱歉,如果这有点令人困惑,我基本上想知道这个代码会包含哪个文件以及如何使用它以便它只运行onces。

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

1 个答案:

答案 0 :(得分:1)

如果你想在每个<li>渲染后执行Javascript函数,我认为在listItem.js中使用代码是最合理的。

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

我曾经有一次恐慌引用,因为它不仅会出现一次,而且每次重新渲染模板时都会触发,这可能是您想要的,也可能不是。如你所知,还有Template.listItem.created = ..。没有更多信息(您的<ul>是否会被绑定到被动数据源,还是静态等等?),我无法给您更好的建议。