如何解决在Vue中,子组件何时渲染?
我正在创建日历以跟踪应付款。我有以下代码部分来创建日历网格。我正在使用Bootstrap-Vue:
<div v-for="week in 5">
<b-row class="pb-2">
<b-col class="px-2">
<Day
:day="first(week)"
:today=days[(week - 1) * 7]
:payments="payments"
></Day>
</b-col>
<b-col
v-for="(day,index) in days.slice((week - 1) * 7 + 1,week * 7)"
:key="index"
class="pr-2 pl-0"
>
<Day
:day="day"
:today="today"
:payments="payments"
></Day>
</b-col>
</b-row>
</div>
Day是一个子组件,用于呈现当天的数据和应付款。 days属性是一个moment.js变量数组。当我运行此程序时,不会为星期日创建任何天。我收到5次以下错误(每个星期日一次):
[Vue warn]: Error in render: "TypeError: Cannot read property 'date' of undefined"
如果我将星期天的一天道具的分配更改为:
:day="first(week)"
然后创建第一个方法:
first(week) {
return this.days[(week - 1) * 7];
},
将正确创建日历(屏幕闪烁几次后)。但是,我仍然遇到上述错误。为什么?
Day有一个子组件Date,它负责显示当天的日期。
<div
class="date"
:id="id"
:title="title"
>
{{ day.date() }}
</div>
这是产生错误的地方。
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。