在Meteor中执行DOM操作的正确方法是什么?

时间:2012-10-25 01:03:57

标签: meteor

我正在使用一个名为Timeline的软件包

https://github.com/VeriteCo/TimelineJS

它的工作原理是拥有一个占位符,例如

<div id="my-timeline"></div>

然后最终制作一个jQuery调用来操纵div。在视觉上,我看到时间线出现在屏幕上,然后几乎消失。使用以下简单示例会产生类似的效果:

<div id="my-temp"></div> 

结合

$(document).ready(function() {
    $('#my-temp').html('HELLO');
});

在不使结果HTML消失的情况下执行此类操作的正确方法是什么?

3 个答案:

答案 0 :(得分:5)

我相信您应该使用constant regions来阻止Meteor重新渲染您的div。

{{#constant}}
    <div id="my-temp"></div> 
{{/constant}}

答案 1 :(得分:2)

使用Handlebars模板,不要使用jQuery的dom操作。如果必须使用javascript dom操作,请务必使用Meteor.render()

http://docs.meteor.com/#meteor_render

此外,您还需要在Template.myTemplate.rendered

中调用时间轴创建代码

http://docs.meteor.com/#template_rendered

答案 2 :(得分:0)

流星渲染是哈利提到的正确方法。这是新文档的链接 http://blazejs.org/api/templates.html#Template-onRendered