我有一个看起来像这样的对象:
{
item1:0,
item2:1,
item3:-1
}
我想使用该对象中的值来控制DOM中某些对象的颜色。所以我希望这是反应性的,这样如果数据发生变化,对象的颜色也会发生变化。
我不确定最有效的方法是什么。我目前定义了一个把手助手,它将给定的值映射到必要的css类。但是,它不是反应性的。我可以将地图放入会话中。
Session.set('data_map',map);
但是,在我的模板中,这会导致问题。以下产量和错误。
<button class="btn {{colorHelper Session.get('item1')}}">
这样做的正确方法是什么?
答案 0 :(得分:1)
您还需要在模板上设置帮助程序:
Template.yourtemplatename.colorHelper = function() {
return Session.get("data_map");
}
然后你的HTML
<template name="yourtemplatename">
...
<button class="btn {{colorHelper.item1}}">
...
</template>
您可以将data_map
会话变量设置为与您一样的对象&amp;使用此点表示法访问内部的内容,或者您可以将其变量设置为字符串并仅使用{{colorHelper}}