在0.5中,可以添加JS函数,如:
PolymerExpressions.prototype.timeofdate = function(input) {
if(input) {
return input.substring(11,16)
}
(从&#34提取小时:分钟; MongoDB-timestamp"如2014-10-04T12:34:56 + 02:00)
并将其与管道变量一起使用,如:
{{starts | timeofdate}}
当我尝试将上面的代码升级到0.9时,我不得不改为创建这个元素:
<script>
Polymer({
is: 'x-substr',
properties: {
start: Number,
end: Number,
},
attached: function() {
this.innerHTML = this.innerHTML.substring(this.start, this.end);
}
});
</script>
并像这样使用它:
<x-substr start="11" end="16">{{starts}}</x-substr>
(使用&#34;附加&#34;回调代替&#34;准备就绪&#34;,如果您应该将此元素用于任何数据绑定)
这是&#34;正确的方式&#34;在Polymer 0.9 +?
中进行如上所述的过滤功能答案 0 :(得分:1)
最接近0.5的滤镜行为是0.9+中的computed bindings。
对于你的例子,这将是这样的:
<dom-module id="...">
<template>
...
<span>{{timeofdate(starts)}}</span>
...
</template>
<dom-module>
Polymer({
...
timeofdate: function (input) {
return input.substring(11,16);
}
...
});
如果您在多个地方需要这段时间,也可以改为computed property。
<dom-module id="...">
<template>
...
<span>{{starttime}}</span>
...
</template>
<dom-module>
Polymer({
...
properties: {
starts: String,
starttime: {
type: String,
computed: 'timeofdate(starts)'
}
},
timeofdate: function (input) {
return input.substring(11,16);
}
...
});