0

我正在使用流星创建一个简单的数据输入和可视化应用程序。当我尝试使用 jQuery 根据数据更改每个条目的一些 css 时,我遇到了问题。

我进行了设置,以便在添加条目时(使用 cursor.observe)计算高度值,然后使用 jQuery 将该值应用于 css,但实际上并没有这样做。我知道这些值是正确计算的,因为我使用控制台来显示它们。

这是因为在此代码运行时,这些条目的实际 html 尚未从模板构建?如果是这种情况,我可以在哪里粘贴这段代码,以便它在 html 存在之后运行 jQuery?

以下是与此问题相关的代码,任何帮助将不胜感激。

Template.mainPanel.Actions = function(){
    var actions = Actions.find()

    actions.observe({
        added: function(action){
            var entryHeight = action.Duration

            console.log("entryHeight: " + entryHeight)

            $('#vis' + action.ID).css({'height':entryHeight})
        }
    })

    return actions
}
4

1 回答 1

2

我假设您的应用中有一些代码,例如:

<template name="mainPanel">
  {{#each Actions}}
    <div id="{{ID}}">Something</div>
  {{/each}}
</template>

您正在与从 Template.mainPanel.Actions 返回您的操作光标配对。

您可以直接在 HTML 中包含样式的反应式把手,而不是用观察做一些复杂的事情,如下所示:

<template name="mainPanel">
  {{#each Actions}}
    <div id="{{ID}}" style="height: {{Duration}}px">Something</div>
  {{/each}}
</template>
于 2012-12-14T01:10:30.373 回答