我有一个简单的 Vue 过滤器,它将数组的长度限制为 n 个元素。像这样使用效果很好:
{{ array | limitArray(2) }}
现在我想在 v-for
中使用它循环,像这样:
<li v-for="item in items | limitArray(3)">...</li>
但这会引发错误。如何在 v-for
中使用过滤器?
编辑:可能不重要,但有问题的过滤器:
Vue.filter('limitArray', function (arr, length = 3) {
if (arr && arr.length) {
if (length == -1) {
return arr;
}
if (length > arr.length) {
return arr;
}
return arr.slice(0, length);
}
return null;
});
最佳答案
您必须将过滤器作为方法调用:
<li v-for="item in $options.filters.limitArray(items, 3)">
但是在 Vue 3 中删除了过滤器。改用方法。
关于javascript - Vue.js - 在 v-for 中使用过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53639575/