vue3之动态组件代码

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<div id="app">
	      <!-- <component is="my1"></component>  这个是直接声明你是什么组件-->
	   		<!-- 一定是个vue的变量 -->
	   		<!-- 动态组件 -->
	   		<!-- is指的是 你是什么组件 里面是组件名 -->
	   		<!-- xxx是vue的变量 -->
			<component :is="xxx"></component>
			

			<button @click="change">切换</button>
    </div>

    <template id="Box">
    	   xzzzzzz
    </template>






</body>
<script src="js/vue3.js"></script>
<script>
	

	const box={
		data(){
			return {
				nameArry : [ "ls",
				             'xm',
				             'xx'],
				msg:'xxxx0',
				
				
			};
		},
		template:'#Box',
		methods:{
			func1(){
				console.log(111);
			}
		}

	}
     //全局app不需要挂载
	const app=Vue.createApp({
       data(){
       		return {
				msg:"father",
				comName:'box',
				xxx:'my1'
			}
       },
       components:{
       	'lk':box,
       },
       methods:{
       	 clickComponent(){
       	 	console.log(this.$refs.ngs.msg);
       	 },
       	 change(){
             if(this.xxx==="my1"){
             		this.xxx="my2"
             }else if(this.xxx==="my2"){
             	this.xxx="my1"
             }
       	 	
         }
     }

	})
	
	app.component('my1',{
      template:"<div>xxxxx</div>"
	})
	app.component('my2',{
      template:"<div>yyyy</div>"
	})
	app.mount("#app");
	


</script>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值