#typescript #vuejs3 #vue-sfc
Вопрос:
Как правильно обмениваться реквизитами в сценарии настройки vue 3
Я использую следующее прямо сейчас:
// sharedProps.ts
import { ComponentObjectPropsOptions } from 'vue';
const sharedProps: ComponentObjectPropsOptions = {
modelValue: {
type: String,
default: '',
},
id: {
type: String,
default: null,
},
};
export default sharedProps;
И для компонента
// Some component
<script setup lang="ts">
import { defineEmits, defineProps, ref } from 'vue';
import sharedProps from '@/props/sharedProps';
const props = defineProps({
...sharedProps,
label: {
type: String,
default: '',
},
});
...
</script>
И это прекрасно работает, но, похоже, Rollup, VueDX и т. Д. Не слишком довольны этим. И это не тот тип, который встречается в документации.
Итак, каков правильный ввод для общего реквизита или способ совместного использования реквизита?
Пример ошибки msg при запуске накопительного пакета
Default export of the module has or is using private name 'PropOptions'