Создайте свой собственный компонент, например, такой как src/components/XBtn.vue
:
<template>
<v-btn
v-bind="$props"
small
tile
v-on="$listeners"
>
<slot></slot>
</v-btn>
</template>
<script>
import VBtn from 'vuetify/lib/components/VBtn/'
export default {
name: 'XBtn',
props: VBtn.options.props,
}
</script>
Затем в другом месте вашего приложения вы можете импортировать его:
<template>
<v-row>
<x-btn color="primary">Save</x-btn>
</v-row>
</template>
<script>
import XBtn from '@/components/XBtn'
export default {
name: 'SomeOtherComponent',
components: {
XBtn,
},
}
</script>
Или, если хотите чтобы он был доступен глобально, без необходимости каждый раз импортировать его, вы можете зарегистрировать его в src/main.js
следующим образом:
// ... other imports ...
import XBtn from '@/components/XBtn'
Vue.component('x-btn', XBtn)
new Vue({
// ... main Vue instance config ...
})
Крутая вещь в том, чтобы делать это таким образом, это то, что компонент XBtn
, который вы получаете из VBtn
будет иметь ВСЕ одинаковые свойства и события. XBtn
по умолчанию будет small
и tile
, но вы все равно можете переопределить их, выполнив что-то вроде: <x-btn large>
. Вы в основном используете его точно так же, как вы используете VBtn
.