Filter VueJS:如何在一个v-for中使用两个计算属性?

Filter VueJS:如何在一个v-for中使用两个计算属性?,filter,vue.js,vuejs2,Filter,Vue.js,Vuejs2,我有这个计算属性: computed: { filteredCars: function() { var self = this return self.carros.filter(function(carro) { return carro.nome.indexOf(self.busca) !== -1 })

我有这个计算属性:

 computed: {
            filteredCars: function() {
                var self = this
                return self.carros.filter(function(carro) {
                    return carro.nome.indexOf(self.busca) !== -1
                })
            },
        },
我用v表示如下:

<tr v-for="carro in filteredCars">
    <td>{{carro.nome}}</td>
    <td>{{carro.marca}}</td>
    <td>{{carro.categoria}}</td>
    <td>{{carro.motor}}</td>
    <td>{{carro.cambio}}</td>
    <td>{{carro.preco}}</td>
 </tr>

{{carro.nome}}
{{carro.marca}}
{{carro.categoria}}
{{carro.motor}}
{{carro.cambio}}
{{carro.preco}}
但是我需要创建另一个计算属性来限制我的数据量,我如何在同一个v-for中调用它

我正在尝试使用filteredCars+另一个过滤器,在本例中类似于vue 1.x中的“限制”过滤器。我已经用Vue 1.x做了一个例子,但我需要用Vue 2.x来做

Vue.filter('limit', function (value, amount) {
            return value.filter(function(val, index, arr){
                return index < amount;      
            });

<tr v-for="carro in carros | limit upperLimit>
...
</tr>
Vue.filter('limit',函数(值、金额){
返回值.过滤器(函数(val、索引、arr){
收益指数<金额;
});

只需在computed属性中使用
Array.prototype.slice
Array.prototype.splice
)即可

data: {
    carros: [...],
    upperLimit: 30
},
computed: {
    filteredCars: function() {
        const arr = this.carros.filter(function(carro) {
            return carro.nome.indexOf(self.busca) !== -1
        });
        if (arr.length > this.upperLimit) {
            return arr.slice(0, this.upperLimit + 1);
        }
        return arr;
    },
}

创建另一个返回的计算程序,比如说
filteredCars.slice(1,30)
或类似的程序,然后使用它。你能解释一下你到底想做什么吗?@RoyJ是这样,但这是正确的方法吗?