我正在尝试添加一个过滤器,其返回值取决于我的组件的某些私有静态变量值。有没有办法在更改此变量时使用此过滤器重新计算表达式?
例如:
{{ someVariable | myFilter }}
其中myFilter
取决于某个私有变量的值。现在它只评估一次。
答案 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
希望它有所帮助!