main/
Main.vue
MainContent.vue
MainHeader.vue
MainHeaderMenu.vue
MainSideBar.vue
settings/
Settings.vue
SettingsCategories.vue
activeproducts/
ActiveProducts.vue
ActiveProductsEdit.vue
minorder/
MinOrder.vue
MinOrderTable.vue
kpi/
KPISettings.vue
order\
Order.vue
OrderHeader.vue
OrderHeaderTabs.vue
OrderContent.vue
OrderContentSomeFeature.vue
или
order\
index.vue
header\
index.vue
tabs\
index.vue
content\
index.vue
somefeature\
index.vue
views\
orders\
OrderLayout.vue
OrderSummary.vue
OrderSummaryRow.vue
...etc.
otherpage\
...etc.
<template>
<quill :value="text" :options="editorOption" @change="$emit('input', $event)"></quill>
</template>
export default {
model: {
prop: 'text',
event: 'input',
},
props: {
text: {
type: String,
default: ''
},
},
data: function() {
return {
editorOption: {
placeholder: 'Описание категории...',
formats: [],
modules: {
toolbar: [
['bold', 'italic', 'underline', 'strike'],
[{ 'list': 'ordered' }, { 'list': 'bullet' }],
['link']
]
}
}
}
},
components: {
'quill': () => import(/* webpackChunkName: "/quill-editor" */ 'vue-quill-editor/src/editor')
},
methods: {
clearEditor: function() {
this.$emit('input', '');
}
}
}
this.$store.state.themeName
. Можно наследовать свои компоненты от какого-то базового, используя extend, и в базовом компоненте определить все что касается темы. Можно сделать плагин, который будет добавлять каждому экземпляру компонента поле ответственное за тему. Вариантов много.