62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								<!--
							 | 
						||
| 
								 | 
							
								 * @Author: Kane
							 | 
						||
| 
								 | 
							
								 * @Date: 2022-11-18 16:07:50
							 | 
						||
| 
								 | 
							
								 * @LastEditors: Kane
							 | 
						||
| 
								 | 
							
								 * @LastEditTime: 2022-11-18 16:27:14
							 | 
						||
| 
								 | 
							
								 * @FilePath: \car_dealer\vue\自定义组件\component.html
							 | 
						||
| 
								 | 
							
								 * @Description: 
							 | 
						||
| 
								 | 
							
								 * 
							 | 
						||
| 
								 | 
							
								 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
							 | 
						||
| 
								 | 
							
								-->
							 | 
						||
| 
								 | 
							
								<!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>自定义组件</title>
							 | 
						||
| 
								 | 
							
								        <link rel="stylesheet" href="../../css/root.css" />
							 | 
						||
| 
								 | 
							
								        <link rel="stylesheet" href="../../css/normalize.css" />
							 | 
						||
| 
								 | 
							
								        <link rel="stylesheet" href="../../css/app.css" />
							 | 
						||
| 
								 | 
							
								    </head>
							 | 
						||
| 
								 | 
							
								    <body>
							 | 
						||
| 
								 | 
							
								        <div class="content">
							 | 
						||
| 
								 | 
							
								            <div id="app">
							 | 
						||
| 
								 | 
							
								                <my-component title="测试" v-model="count"></my-component>
							 | 
						||
| 
								 | 
							
								            </div>
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								    </body>
							 | 
						||
| 
								 | 
							
								    <script src="../../js/vue/vue.global.js"></script>
							 | 
						||
| 
								 | 
							
								    <script>
							 | 
						||
| 
								 | 
							
								        const root = {
							 | 
						||
| 
								 | 
							
								            data() {
							 | 
						||
| 
								 | 
							
								                return {
							 | 
						||
| 
								 | 
							
								                    count: 0,
							 | 
						||
| 
								 | 
							
								                    value: "",
							 | 
						||
| 
								 | 
							
								                };
							 | 
						||
| 
								 | 
							
								            },
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								        const component = {
							 | 
						||
| 
								 | 
							
								            template:
							 | 
						||
| 
								 | 
							
								                "<div><button @click='doClick($event)'>{{title}}</button></div>",
							 | 
						||
| 
								 | 
							
								            props: ["title", "modelValue"],
							 | 
						||
| 
								 | 
							
								            data() {
							 | 
						||
| 
								 | 
							
								                return {
							 | 
						||
| 
								 | 
							
								                    count: 0,
							 | 
						||
| 
								 | 
							
								                };
							 | 
						||
| 
								 | 
							
								            },
							 | 
						||
| 
								 | 
							
								            methods: {
							 | 
						||
| 
								 | 
							
								                doClick(event) {
							 | 
						||
| 
								 | 
							
								                    this.count++;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    this.$emit("update:modelValue", this.count);
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								            },
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        const vm = Vue.createApp(root);
							 | 
						||
| 
								 | 
							
								        vm.component("my-component", component);
							 | 
						||
| 
								 | 
							
								        vm.mount("#app");
							 | 
						||
| 
								 | 
							
								    </script>
							 | 
						||
| 
								 | 
							
								</html>
							 |