javascript - VueJS 2.0 : Using V-if to Check the Existence of a Custom Prop

标签 javascript vue.js vuejs2 vue-component

我使用 VueJS 2.0 创建了一个自定义模态组件,并带有“close”属性。我基本上让它按我想要的方式工作,但我想稍微改进一下。

我的一个功能是可以选择添加关闭按钮,如下所示:

在 HTML 中添加自定义属性 close="true"

<modal close="true">
Etc...
</modal>

在JS文件中使用V-IF条件语句

<button v-if="close == 'true'></button>

结果是,如果 close 的属性设置为 true,则关闭按钮出现,否则不出现。这就是我想要的并且有效。

我的问题是我可以简化这个解决方案,以便我可以简单地设置 html 如下:<modal close>...</modal> .

然后我会简单地检查 close 的属性是否存在。我尝试使用 <button v-if="close"></button> 这样做,但这没有用。

所以,我想知道这是否可行以及(如果可行)如何实现。

在此先感谢您提供的任何帮助。

最佳答案

如果您将属性的默认值设置为false,那么您可以检查该属性是否恰好为false,以确定是否显示按钮:

props: {
  close: {
    default: false,
  },
}

然后你可以这样检查:

<button v-if="close !== false"></button>

当您将 close 属性添加到 modal 组件而未指定值时,该值将等于一个空字符串:''。因此,它不会等于 false,因此会显示关闭按钮。

关于javascript - VueJS 2.0 : Using V-if to Check the Existence of a Custom Prop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42981587/

相关文章:

javascript - Angular js :Nested JSON array in ng-repeat not displaying the values

javascript - D3.js 线图不接触端点

vue.js - 你能在 Vue 模板中渲染 VNode 吗?

javascript - 使用 v-if 时 Vue.js CSS 动画无法正常工作

javascript - 为 dblclick td 创建 if

javascript - 如何将 javascript 库添加到 grails gsp 文件中?

vue.js - 在 Vuetify 规则定义中传递额外参数

google-chrome - 视觉 : Chrome tab crashes when trying to display a long string

javascript - 使用渲染功能时 Vue 组件不显示子文本节点

javascript - 数据变化随机更新 - Vue/Vuex