'<input>' }) new Vue({ el: '#app', data: function() { return { tab: 'my-textarea' } } }) </script> JS <div id="app"> <div> <button @click="tab='my-text'">text</button> <button @click="tab='my-textarea'">textarea</button> </div> <keep-alive> <component :is="tab"></component> <keep-alive> </div> HTML Preview | textarea text textarea text Hello Wor| 前問の<component>タグにkeep-aliveで囲むことでコンポーネントの状態を維持できます。 <keep-alive> <component v-bind:is ="コンポーネント名 "></component> </keep-alive> v-bind:is + keep-alive Preview textarea text Hello Wor| 文字を入力 コンポーネント 切り替え 内容が保持 されている