<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/vue.global.js"></script>
</head>
<body>
<div id="box">
<button @click="cname='List'">评论列表</button>
<button @click="cname='PublicComments'">发布评论</button>
<keep-alive>
<component :is="cname"></component>
</keep-alive>
</div>
<script>
let List={
template:"<div>列表组件</div>",
created(){
console.log("list created")
},
unmounted(){
console.log("list unmounted")
},
activated(){
console.log("list activated")
},
deactivated(){
console.log("list deactivated")
}
}
let PublicComments={
template:`<div>发布评论组件
<input type='text' />
</div>`,
activated(){
console.log("PublicComments activated")
},
deactivated(){
console.log("PublicComments deactivated")
},
created(){
console.log("PublicComments created")
},
unmounted(){
console.log("PublicComments unmounted")
}
}
Vue.createApp({
components:{
List,PublicComments
},
data() {
return {
cname:"List"
}
},
}).mount("#box")
</script>
</body>
</html>