Vue.js v-if 属性

Vue.js v-if for attributes

假设我有这个代码

table(my-attr="value")
    ...complex component Jade...

并且我想根据交付到组件中的 属性 渲染 my-attr。因为 v-if 适用于整个元素,所以我不能做类似

的事情
table(my-attr="value", v-if="myProp")
table(v-else)

因为我必须复制 table 中的所有代码。

我怎样才能做到这一点?

您可以使用 v-bind 或直接使用 {{}}

插入值
// (sorry, no jade)
<table v-bind:attribute1="someMethod" attribute2="{{anotherMethod}}">

现在 someMethodanotherMethod 应该是组件的数据、计算属性或方法,并且应该 return 属性的期望值或 false。在后一种情况下,属性根本不会添加到元素中。

更新: 请注意,属性中的插值已在 Vue 2 中移除