用Rivets.js输出一个类?

时间:2015-04-07 20:56:20

标签: javascript rivets.js

我认为这会更容易,除非我遗漏了一些内容,但我无法弄清楚如何将我的数据作为一个类输出。

<div class="partner-type" rv-class="partner.partner-type"></div>

不起作用。它应该说该财产的价值&#34;技术&#34;或&#34;服务&#34;。无论如何都要进行字符串插值或其他什么?数据吸引力?

3 个答案:

答案 0 :(得分:4)

我最终使用了像

这样的东西

rv-class-ineededthisclass="partner.partner_type | isNotEqual 'premier'"

顺便说一句,这个库非常适合rivetsjs: https://github.com/matthieuriolo/rivetsjs-stdlib

答案 1 :(得分:1)

我有同样的问题。我创建了一个名为“rv-set-class”的绑定器来解决这个问题。

rivets.binders['set-class'] = function(el, value){
     el.className += ' '+ value;   
}

您现在可以像这样使用它:

<div rv-set-class="partner.partner-type"></div>

答案 2 :(得分:1)

您可以在official Github documentation page中找到一个简单的自定义Binder,其行为完全符合您的要求:它动态地将存储在您变量中的className分配给绑定元素。

  

AddClass(rv-addclass)

     

向元素添加新类(使用属性值)   除了任何现有的。在随后的变化中,   先前添加的类将替换为新类。

Binder声明:

rivets.binders.addclass = function(el, value) {
  if (el.addedClass) {
    $(el).removeClass(el.addedClass);
    delete el.addedClass;
  }

  if (value) {
    $(el).addClass(value);
    el.addedClass = value;
  }
};

用法:

<i rv-addclass="partner.partner_type"></i>