gpt4 book ai didi

javascript - Vue.js - 默认情况下应用一个类,除非手动添加一个类?

转载 作者:搜寻专家 更新时间:2023-10-30 22:39:13 25 4
gpt4 key购买 nike

我刚开始使用 Vue.js,我有点不知道这是否可行。给定以下组件:

<button class="button large primary-gradient">{{ text }}</button>

如果可能的话,我希望“large primary-gradient”类是有条件的,取决于开发人员稍后是否将其他类添加到 HTML 中的按钮组件。

例如,如果开发者写

<custom-button text="hi"></custom-button>

它应该呈现出来

<button class="button large primary-gradient">hi</button>

但是,如果开发人员写道:

<custom-button class="medium secondary" text="hi"></custom-button>

它应该呈现出来

<button class="button medium secondary">hi</button>

本质上,我试图为这个按钮组件创建默认类值,只有在开发人员不添加自己的值时才会使用这些值。在我看来这应该很容易做到,但我对 Vue 的有限了解有点阻碍了我。感谢您的任何见解!

最佳答案

最好使用 Prop 来控制它:

Vue.component('custom-button', {
props: {
text: String,
size: { type: String, default: 'large' },
type: { type: String, default: 'primary-gradient' }
},
computed: {
classes: function () {
return ['button', this.size, this.type].join(' ')
}
},
template: '<button v-bind:class="classes">{{ text }}</button>'
})

用法:

<custom-button size="medium" type="secondary" text="Hi"/>

关于javascript - Vue.js - 默认情况下应用一个类,除非手动添加一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41497189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com