如何在Polymer模板中使用布尔值切换类?

时间:2016-09-29 22:04:29

标签: css polymer responsive templating

想要使用如here所示的辅助函数来实现而不使用。我知道我可以使用一些基本的运算符(即!),但是想在模板中使用更多的逻辑。基本上,目标是使用通过iron-media-query设置的布尔值来切换元素上的类。

伪代码:

<div class$="[[(mobile)?'mobile-styling':null]]"></div>

P.S。类名不能是布尔变量名。

由于

1 个答案:

答案 0 :(得分:1)

不幸的是,此功能已被弃用以提高性能。聚合物1.0+仅支持以下内容:

  1. 属性或子属性路径(users,address.street)。
  2. 计算绑定(_computeName(firstName,lastName,locale))。
  3. 以上任何一项,前面都是否定运算符(!)。
  4. 这是一个如何实现计算绑定的示例:

    <dom-module ...>
      <template>
        <div class$="[[hasMobileStyle(mobile)]]"></div>
      </template>
      <script>
        Polymer({
          ...
          hasMobileStyle: function(mobile) {
            return mobile ? 'mobile-styling' : '';
          }
        });
      <script>
    </dom-module>
    

    你也可以使用布尔值作为选择器来摆脱计算出的绑定:

    <div class$="mobile-styling--[[mobile]]"></div>
    

    并且您在.mobile-styling--true

    上做了一个选择器

    你所要求的是无法做到的。只有这三个条件有效,[[(mobile)?'mobile-styling':null]]不符合标准。