vue中,我們經常會使用到is
語法來實現動態組件,它可以使得我們根據組件的類型來渲染不同的組件。比如我們可以實現一個簡單的Tabs組件,使用is
語法來渲染它的子組件:
<template>
<div>
<nav>
<ul>
<li @click="activeTab = 'home'" :class="{ 'is-active': activeTab === 'home' }">Home</li>
<li @click="activeTab = 'about'" :class="{ 'is-active': activeTab === 'about' }">About</li>
<li @click="activeTab = 'contact'" :class="{ 'is-active': activeTab === 'contact' }">Contact</li>
</ul>
</nav>
<component :is="activeTab">
<!-- 對于不同的tab類型,渲染不同的組件 -->
</component>
</div>
</template>
<script>
export default {
data() {
return {
activeTab: 'home'
};
}
};
</script>
在上面的代碼中,我們使用is
語法來渲染component
組件,它根據activeTab
的值來渲染不同的組件。這樣我們就可以在不同的標簽頁中渲染不同的組件了。
需要注意的是,使用is
語法的組件必須是注冊過的組件。比如我們可以在上面的代碼中注冊三個不同的組件:
<script>
import Home from './Home.vue';
import About from './About.vue';
import Contact from './Contact.vue';
export default {
components: {
Home,
About,
Contact
},
// ...
};
</script>
這樣,我們就可以在component
中使用is
語法來渲染這三個組件。
上一篇python+分析視頻
下一篇c json轉為類