3

当通过模板助手触发 CSS 转换时,Meteor 似乎跳过了这些转换。有没有办法解决这个问题?

例子:

<template name="example-template">
  <div class="example {{myhelper}}"></div>
</template>

然后,“myhelper”将通过模板助手分配一个触发 css 转换的类名。但是,由于某种原因,应用了该类但跳过了转换。

当模板数据源发生变化时,我认为这与 Meteor 的自动渲染冲突,但我不知道如何解决它(我想避免为此使用 jquery)。

4

2 回答 2

2

Meteor 还不支持渲染新模板后的 CSS 过渡。原因是当再次渲染模板example-template时,新的 HTML 只是以新的类名附加到 DOM 中。由于 DOM 发生了变化,因此不会发生转换。

最好的办法是将该rendered事件与loading类名结合使用:

<template name="example-template">
  <div class="example loading"></div>
</template>

Template['example-template'].rendered = function() {
  // remove the loading classname here, and have that trigger a transition
}
于 2013-01-11T12:03:02.077 回答
0

在新的 Meteor UI 登陆后,这应该会变得更容易(参见http://www.youtube.com/watch?v=pGQ-ax5cFnk),但在此之前,您可以使用模板的保留指令来执行此操作:

HTML:

<template name="example">
  <div id="example-div" class="example {{myhelper}}"></div>
</template>

JS:

Template.example.preserve(['#example-div']);

有关更多信息,请参阅http://docs.meteor.com/#template_preserve

于 2013-11-12T21:37:12.400 回答