vue.js - 如何在计算属性中使用道具?
问题描述
我有一个接收道具“mediaItems”的轮播组件,我在计算属性中使用该道具来确定轮播的结束:
props: ['mediaItems', 'sliderHeading'],
computed: {
atEndOfList() {
return this.currentOffset <= (this.paginationFactor * -1) * (this.mediaItems.length / this.windowSize) + this.paginationFactor;
},
这会导致一个空组件,并且我收到一个控制台错误,上面写着:
类型错误:this.mediaItems 未定义
如果我删除计算属性,组件会加载道具并且我不会收到控制台错误,但我需要这个计算属性来确定轮播的结束。
解决方案
mediaItems
我想你应该为这个 prop 指定一个默认值,以便在prop 尚未在外部设置时使计算的 prop 正常工作:
props: {
mediaItems: {
type: Array,
default: ()=>[]
},
sliderHeading: String
}
推荐阅读
- django - 如何计算Django模型中某些字段的平均值并将其发送到rest API?
- javascript - 赛普拉斯 cy.request() 没有通过
- python - 从列表中的列表中删除逗号
- javascript - ReactJS - 如何从功能组件返回字符串?
- python-3.x - pysolr 在 solr 重启后第一次需要时间
- java - 忽略 JSON 反序列化的默认字段值
- c# - 如何使对象统一随机生成?
- python - SQLAlchemy 查询,其中比较多列的元组
- linux - 由于堆大小有限,realloc 函数给出了 SIGABRT
- image - 在带有堆栈的容器外稍微颤动位置图像