次のようなテンプレートがあります。
<template name="foo">
<div id="wrapper" style="overflow: hidden">
<div id="content" style="margin-top: -{{contentHeight}}px">
{{content}}
</div>
<button id="toggle">Show/Hide Content</button>
</div>
</template>
where{{contentHeight}}
は の高さを計算するヘルパーで#content
、トグル ボタンをクリックすると#content
、マージンがアニメーション化されて上下にスライドします。
問題は、 でデータベースの更新を行うとfoo
、#content
の属性が新しい値でstyle
リセットされ、非表示になることです。contentHeight
一度レンダリングされた要素に Meteor が触れないようにしたいのですが、一意の ID を与えてもそれは妨げられません。ドキュメントが言うように:
Meteor は、囲んでいるテンプレートが再レンダリングされた場合でも [一意の名前/ID を持つ要素] を保持しますが、それでも子を更新し、属性の変更をコピーします。
(私のものを強調してください。)では、最善のアプローチは何ですか?style
テンプレートがレンダリングされるときに要素を設定し、Meteor が属性を変更できないようにするにはどうすればよいですか?