Vue 3教程 - 动态组件


设想一个场景,我们需要几个不同的tab,单击某项tab时需要加载对应的组件。这个时候,可以通过类似如下的代码实现:

<button @click="activeTab = 'HomeTab'">Home</button>
<button @click="activeTab = 'ProductTab'">Product</button>
<button @click="activeTab = 'PaymentTab'">Payment</button>

<HomeTab v-if="activeTab === 'HomeTab'" />
<ProductTab v-if="activeTab === 'ProductTab'" />
<PaymentTab v-if="activeTab === 'PaymentTab'" />

在Vue中,还可以通过更为优雅的方式,动态组件来实现:

<component :is=@activeTab />

同时可以使用keep-alive标签来缓存某个组件,这样在tab之间切换时就不会丢失用户输入了:

<keep-alive>
  <component :is="activeTab" />
</keep-alive>

文章作者: 逻思
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 逻思 !
  目录