javascript – Polymer 1.0的tokenList样式发生了什么

前端之家收集整理的这篇文章主要介绍了javascript – Polymer 1.0的tokenList样式发生了什么前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Polymer 0.5中,可以使用带有元素类属性表达式的tokenList过滤器,根据对象值有条件地应用类.什么是v1.0替换或等效技术?除了在代码中完全处理它之外,我找不到关于这个主题的任何内容.

解决方法

Polymer 1.0做了相当多的削减,有利于性能提升,表达式就是其中之一.

使用0.5文档中的示例:

<div class="{{ {active: user.selected,big: user.type == 'super'} | tokenList}}">

您可以像这样重写1.0:

<div class$="{{getClassList(user.selected,user.type)}}">

然后在你的元素的js中:

getClassList: function(selected,type) {
    var classList = '';
    if (selected) classList += ' active';
    if (type == 'super') classList += 'big';
    return classList;
}

确保任何可能发生变化的属性(以及结果值所依赖的属性)作为参数传递给函数.如果更新了这些属性,聚合物将重新计算该值.还要确保传递给函数的每个属性都以某种方式初始化 – 如果未定义任何参数,Polymer将不会计算该属性.

另一件需要注意的事情是,{{}}的任何出现都必须占用整个属性或文本内容,因此您不能拥有类似class =“foo {{bar}}”的内容.如果需要以声明方式向元素添加类名,可以执行以下操作:

<div class$="{{getClassList('user-item',user.selected,user.type)}}">
原文链接:https://www.f2er.com/js/158048.html

猜你在找的JavaScript相关文章