0

我有一个看起来像这样的对象:

{
  item1:0, 
  item2:1,
  item3:-1
}

我想使用该对象中的值来控制 DOM 中某些对象的颜色。所以我希望这是反应式的,这样如果数据发生变化,对象的颜色也会发生变化。

我不确定最有效的处理方法是什么。我目前定义了一个把手助手,它将给定的值映射到必要的 css 类。但是,它不是被动的。我可以将地图放入会话中。

Session.set('data_map',map); 

但是,在我的模板中,这会导致问题。以下产量和错误。

<button class="btn {{colorHelper Session.get('item1')}}"> 

这样做的正确方法是什么?

4

1 回答 1

1

您还需要在模板上设置一个助手:

Template.yourtemplatename.colorHelper = function() {
    return Session.get("data_map");
}

然后你的html

<template name="yourtemplatename">
    ...

    <button class="btn {{colorHelper.item1}}">

    ...
</template>

您可以将data_mapSession 变量设置为像您一样的对象并使用此点符号访问其中的内容,或者您​​可以将其变量设置为字符串并直接使用{{colorHelper}}

于 2013-10-14T05:08:15.560 回答