const student = {
template: `<div>我是学生</div>`,
}
const teacher = {
template: `<div>我是老师</div>`,
}
new Vue({
el: '#app',
data() {
return {
isStudent: true,
}
},
computed: {
componentInstance() {
let { isStudent } = this;
let pathName = isStudent ? student : teacher;
return pathName;
}
}
})
<div id="app">
<button @click="isStudent = !isStudent">change</button>
<component :is="componentInstance" />
</div>