Я создаю SPA на основе Vue. js, в котором я хочу перейти между несколькими частями содержимого:
<template>
<transition name="fade">
<component
:is="options[active].type"
v-bind="options[active].props"
/>
</transition>
</template>
<script>
const content = [
{type: 'ContentHeader', props: {...}},
{type: 'ContentModule', props: {...}},
{type: 'ContentModule', props: {...}}
];
import ContentHeader from '...';
import ContentModule from '...';
export default {
components: {
ContentHeader,
ContentModule
},
data: () => ({
active: 0,
options: content
})
};
</script>
Когда я изменяю свойство active
с 0 на 1 , компонент Dynami c изменяется, и переход инициируется. Переключение на последний компонент, однако, не происходит - он имеет тот же тип элемента, что и предыдущий. Реквизит компонента различен и отображается правильно, но переход не осознает, что изменение произошло, и не будет запускаться.
Любые идеи, как я мог бы это решить - или для другого подхода к объединению модулей в переход?