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}}">
现在 someMethod
和 anotherMethod
应该是组件的数据、计算属性或方法,并且应该 return 属性的期望值或 false
。在后一种情况下,属性根本不会添加到元素中。
更新: 请注意,属性中的插值已在 Vue 2 中移除
假设我有这个代码
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}}">
现在 someMethod
和 anotherMethod
应该是组件的数据、计算属性或方法,并且应该 return 属性的期望值或 false
。在后一种情况下,属性根本不会添加到元素中。
更新: 请注意,属性中的插值已在 Vue 2 中移除