强制聚合物表达式重新评估过滤器更改

时间:2014-12-21 23:18:30

标签: javascript polymer web-component

我正在尝试添加一个过滤器,其返回值取决于我的组件的某些私有静态变量值。有没有办法在更改此变量时使用此过滤器重新计算表达式?

例如:

{{ someVariable | myFilter }}

其中myFilter取决于某个私有变量的值。现在它只评估一次。

1 个答案:

答案 0 :(得分:0)

您可以将这两个属性传递给过滤器,要显示的属性以及要监视的属性以进行更改,并且在自定义过滤器中,只有在第二个属性发生更改时才显示第一个属性。

<body>
  <template is="auto-binding">

  <my-component count={{count}} status={{status}}></my-component>

  <h1>And here I'm outside...</h1>

  <div>Changing only if status is on: {{ {count: count, status: status} | statusIsOn }}</div>



  </template>

  <script>
    var template = document.querySelector('template[is="auto-binding"]');
    template.count=0;
    template.status =0;
    template.statusIsOn = function(value) {
      if (value.status >0)
        return value.count;
      return 0;
    };
</script>

此处显示此案例的一名侦探:http://plnkr.co/edit/YGCfKErYZgFyr2KRJnVv?p=preview

希望它有所帮助!