Я работаю над преобразованием существующей темы в повторно используемые компоненты.
У меня сейчас есть такой компонент кнопки:
<template>
<a :href="link" class="button" :class="styling"><slot></slot></a>
</template>
<script>
export default {
props: {
link: {},
styling: {
default: ''
}
}
}
</script>
И, в моем HTML, я использую это так:
<vue-button link="#" styling="tiny bg-aqua">Button 1</vue-button>
Теперь я пытаюсь создать «группу кнопок», используя существующий компонент кнопки.
То, что я хотел бы сделать, это что-то вроде этого:
<vue-button-group styling="radius tiny">
<vue-button link="#" styling="tiny bg-aqua">Button 1</vue-button>
<vue-button link="#" styling="tiny bg-aqua">Button 2</vue-button>
<vue-button link="#" styling="tiny bg-aqua">Button 3</vue-button>
<vue-button link="#" styling="tiny bg-aqua">Button 4</vue-button>
</vue-button-group>
Я очень новичок в VueJS, и меня немного смущает правильный способ справиться с такой вещью. Я хотел бы иметь возможность передавать столько компонентов кнопок в группу, сколько необходимо.
Вот что у меня есть для группы кнопок:
<template>
<ul class="button-group" :class="styling">
<li><slot></slot></li>
</ul>
</template>
<script>
export default {
props: {
styling: {
default: ''
}
}
}
</script>
Это, конечно, будет работать с передачей одной кнопки, но я не могу понять, как допустить большее, при этом заключая каждую кнопку в отдельный элемент списка.
Буду очень признателен за любые предложения или исправления в отношении того, как я это делаю. Спасибо.