typescript - 开玩笑 [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘类型’”
问题描述
我对 Jest 单元测试比较陌生。我有一个带有 Buefy 标签的子组件 DataList.vue,它有一个 v-bind,如下所示:
<b-tag :type="currentStatus.type" class="statustag">
{{ currentStatus.statusText }}
<b-icon
:icon="currentStatus.icon"
size="is-small"
class="tagicon"
></b-icon>
</b-tag>
在脚本标签中,我有以下计算属性:
get currentStatus() {
return this.statusOptions
.filter(status => status.status == this.item.status)
.shift();
}
private statusOptions = [
{
status: 'Success',
statusText: 'Success',
type: 'is-primary',
icon: 'check-circle'
},
{
status: 'Fail',
statusText: 'Fail',
type: 'is-primary',
icon: 'close-circle'
},
];
当我浅挂载组件并编写任何单元测试并运行它时,我收到以下错误:
[Vue warn]: Error in render: "TypeError: Cannot read property 'type' of undefined"
statusText
与和类似icon
。
当我将 b-tag 元素注释掉时,该组件在浏览器上呈现良好,并且组件其余部分的单元测试工作。任何有关如何正确测试 b-tag 元素的帮助表示赞赏。
解决方案
推荐阅读
- validation - DataValidationBuilder 类上的 requireCheckbox 方法签名含义
- javascript - 如何使用从视频处理的 WebAudio 修复 Chome 中的 CORS 问题?
- javascript - 使用按钮而不是文本输入时,更改事件上的 jQuery Datepicker 不会被触发
- php - 提交表单后,需要在重定向到感谢页面之前在弹出窗口上显示变量值
- python-3.x - 二维数组和 for 循环
- php - 在 Laravel 5.7 中为表单设置路由
- c# - 绑定重定向不起作用时该怎么办?
- kivy - Kivy:不能将'BorderImage'放在指定位置
- angular - Angular Firebase - 从参考字段中获取可观察的
- android - 在 NativeScript Angular 中,为什么这些图标没有居中显示?