0

Meteor を使用して Web アプリを構築するためのチュートリアルを完了しましたが、適切な場所で一度だけ呼び出されるように、標準の JS 関数呼び出しをどこに置くべきかについてまだ混乱しています。

たとえば、次の 2 つのテンプレートがあります。

<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

レンダリング後にそれぞれで Javascript 関数を実行したい場合<li>は、コードを .xml に入れるのが最も論理的だと思いますlistItem.js

コードを「1 回」実行するには、 Meteor docsTemplate.listItem.rendered = function () { ... };に従ってコードを挿入します。

一度だけではなく、そのテンプレートが再レンダリングされるたびに起動するため、恐怖の引用符が1回あります。これは、必要なものである場合とそうでない場合があります。ご指摘のとおり、 もありTemplate.listItem.created = ..ます。もう少し情報がなければ (<ul>リアクティブ データ ソースにバインドする予定ですか、それとも静的ですか?)、これ以上のアドバイスはできません。

于 2013-06-30T01:20:49.610 に答える