javascript - 检查是否为 Vue.js 中的 prop 提供了值

标签 javascript vue.js vuejs2

我正在开发一个组件,我想在其中显示基于数据属性的徽章。为了向组件提供数据,我使用了一个 prop。该属性称为 status,如果存在,它将是 01

现在我想检查该值是否存在,如果存在,我想在组件中渲染一些 html。做这个的最好方式是什么?如果未提供数据/值,我不想渲染 html。

HTML

<span>
    <div class="circle-small" :class="{ 'validated': tab.status }"></div>
</span>

所以我想仅在提供了“status”属性的数据时才渲染此 html。我尝试使用 v-if="tab.status" 但通过这样做,当 status 的值为 0< 时,将不会呈现 html/

像这样在 prop 上使用 required 属性

status: {
    Type: Boolean,
    required: true,
},

也不起作用,因为实际上不需要使用这个 Prop 。

Prop

status: {
    Type: Boolean,
},

有人有好的解决方案吗?

最佳答案

将默认值设置为null:

status: {
    Type: Boolean,
    default: null
},

然后你可以像这样检查它是否通过:

status !== null

这意味着属性status已通过。

关于javascript - 检查是否为 Vue.js 中的 prop 提供了值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51400329/

相关文章:

javascript - 调用 Coldfusion 组件函数的 jQuery post 方法不起作用

javascript - 想要获取数组中重复值的计数

javascript - 如何在 .vue 文件的 &lt;script&gt; 部分的父组件中处理通过 this.$emit 发出的自定义子事件?

javascript - 尝试查看 IFRAME 的父级时如何解决访问被拒绝的问题

javascript - 使用 javascript 来制作所需的东西

javascript - 无法在基本模态中访问vue数据

javascript - 将 v-for 设置为特定索引

vue.js - 使用 Vue 路由器时如何在 VueJS 组件之间传递数据?

css - Vuetify - 在 v-card 内水平居中 v-progress-线性

html - Vue.js - Material Design Lite 组件不会自动升级,除非刷新