Vue组件-动态组件

vue

动态组件

通过使用保留的 <component> 元素,动态地绑定到它的 is 特性,可以让多个组件使用同一个挂载点,并动态切换:

 <div >

<select v-model="currentComponent">

<option value="home">home</option>

<option value="post">post</option>

<option value="about">about</option>

</select>

<component :is="currentComponent"></component>

</div>

<script>

new Vue({

el: '#app6',

data: {

currentComponent: 'home'

},

components: {

home: {

template: `<header>这是home组件</header>`

},

post: {

template: `<header>这是post组件</header>`

},

about: {

template: `<header>这是about组件</header>`

}

}

})

</script>

也可以直接绑定到组件对象上:

var Home = {

template: `<header>这是home组件</header>`

}

new Vue({

el: '#app6',

data: {

currentComponent: Home

}

})

保留切换出去的组件,避免重新渲染

如果把切换出去的组件保留在内存中,可以保留它的状态或避免重新渲染。为此可以添加一个 keep-alive 指令参数:

<keep-alive>

<component :is="currentComponent">

<!-- 非活动组件将被缓存! -->

</component>

</keep-alive>

以上是 Vue组件-动态组件 的全部内容, 来源链接: utcz.com/z/379451.html

回到顶部