问题描述
写了一个流程类应用,模板都是复用的,假设有3种类型模板切换,如果连续两个同样模板则出现模板缓存不会销毁的问题
相关代码
精简代码如下
<div id="dynamic-component-demo">
<button v-for="tab in tabs" v-bind:key="tab" @click="currentTab = tab">{{ tab }}</button>
<component :is="currentTabComponent" ></component>
</div>
Vue.component('tab-posts', {
data: function() {
return {
args:'',
}
},
template:'<div><input type="text" v-model="args"></div>',
})
Vue.component('tab-archive', {
template: '<div>Archive component</div>'
})
new Vue({
el: '#dynamic-component-demo',
data: {
currentTab: 'Posts',
tabs: ['Posts', 'Posts', 'Archive', 'Posts']
},
computed: {
currentTabComponent: function() {
return 'tab-' + this.currentTab.toLowerCase()
}
}
})
楼下的方法好点,报错的话 给button或者component外面裹个div 就没有报错了