沒有,你就需要在項目(或在這種情況下,其子屬性)使用computed binding:
// template
<template is="dom-repeat" items="{{_myFiles}}" as="file">
<span>{{_formatDate(file.createDate)}}</span>
</template>
// script
Polymer({
_formatDate: function(createDate) {
return /* format createDate */;
}
});
或者,你可以使用一個計算的屬性(如命名爲_myFiles
)在myFiles
陣列,這將處理dom-repeat
迭代之前的所有項目:
// template
<template is="dom-repeat" items="{{_myFiles}}" as="file">
<span>[[file.createDate]]</span>
</template>
// script
Polymer({
properties: {
myFiles: Array,
_myFiles: {
computed: '_preprocessFiles(myFiles)'
}
},
_preprocessFiles: function(files) {
return files.map(x => {
x.createDate = /* format x.createDate */;
return x;
});
}
});
我不得不定義我的計算性能爲這樣: MYFILES:{ type:Array, computed:'_preprocessFiles(myFiles)', notify:true } –