【发布时间】:2019-02-20 23:11:50
【问题描述】:
我正在开发一个用于显示 GitLab 管道的 Vue 网页。我有一个主要的 Vue 组件(即“Monitor.vue”)和 X 子组件,它们显示我的 GitLab 实例上每个 X 项目的管道计划(称为“Schedules.vue”)。
在“监控器”中,我希望有一个复选框,对于尚未安排管道的项目,使计划的容器消失。这是我为此写的:
Monitor.vue:
<template>
<input type="checkbox" value="false" v-model="checked">
Show only projects that have scheduled pipelines
<div v-if="checked">Checkbox checked!</div>
<div class="row">
<div v-for="project in projects" :key="project.id">
<Schedules :checkBoxChecked="checked"></Schedules>
</div>
</div>
</template>
<script>
import Schedules from "./Schedules.vue";
export default {
components: {
Schedules
},
data() {
return {
checked: false
};
}
};
<script>
Schedules.vue:
<template>
<div v-if="checkBoxChecked">
No scheduled pipelines yet.
</div>
<div v-else>
<!-- Display pipelines here -->
</div>
</template>
<script>
export default {
name: "Schedules",
props: "checkBoxChecked"
};
</script>
现在,当我选中该框时,checked 的值在 Monitor 中确实发生了变化,但是当我尝试将其传递给子组件时,web 控制台中未定义的 checkBoxChecked 的值。
我在这里忘记了什么?
【问题讨论】:
-
在这两种情况下都是
undefined,或者在你点击复选框之后 -
@mooga 在这两种情况下。