computed: { histories() { //展开运算符,基于原来的 historyList,在调用reverse方法 return [...this.historyList].reverse() } }为什么会报错
时间: 2023-06-20 18:10:32 浏览: 136
可以提供一下报错的具体信息吗?不过根据你提供的代码片段,可能是因为computed中的histories没有使用箭头函数,并且在函数内部使用了this关键字。在Vue中,computed属性中的函数会自动绑定到组件实例上。如果使用普通函数,this指向的就不是组件实例,而是window对象,所以会报错。建议将computed中的函数改为箭头函数,代码如下:
```
computed: {
histories: () => [...this.historyList].reverse()
}
```
这样this就可以正确指向组件实例。
相关问题
在vue3中computed和...mapGetters的组合写法
在Vue3中,可以使用computed和...mapGetters的组合写法来获取store中的state和getter。具体的写法如下:
```
import { computed, mapGetters } from 'vuex'
export default {
computed: {
...mapGetters([
'getterName1',
'getterName2'
]),
computedName1() {
return this.getterName1 + 'computed'
},
computedName2: computed(() => {
return this.getterName2 + 'computed'
})
}
}
```
其中,mapGetters是一个辅助函数,可以将store中的getter映射到组件的computed属性中。使用...运算符可以将映射的结果展开到组件的computed属性中。同时,也可以在computed属性中定义自己的计算属性,以便对映射的结果进行进一步的计算。
阅读全文