<template>
</template>

<script>
	export default {
		name: "export-default", //打包的时候根据name打包
		
		setup() {
			/**
			 * 通过provide/inject可以轻松实现跨级访问父组件的数据
			 * provide和inject是成对出现的
			 * 必须放在setup内
			 * 简单的来说就是在父组件中通过provider来提供变量，然后在子组件中通过inject来注入变量
			 * provide 和 inject 绑定并不是可响应的。这是刻意为之的。
			 * 代码执行顺序data->provide->created->mounted
			 */
			provide("getMapInstance", () => {
				return jtMap3d
			});

			const getMapInstance = inject("getMapInstance");
			jtMap3d = getMapInstance()
		},

		methods: {}, //方法

		// props：[],

		watch: {},
		computed: {},
		filters: {},
		directives: {},
		components: {}, //组件
		comments: true, //(是否要注释)
		
		/**
		 * AAA 页面第一次加载时会执行 beforeCreate， created， beforeMount， mounted这四个生命周期，
		 */
		
		/**
		 * 在beforeCreate生命周期执行时，data和methods中的数据还未初始化，所以此时不能使用data中的数据和methods中的方法。
		 */
		beforeCreate:{},
		
		/**
		 * data 和 methods初始化完毕，此时可以使用methods 中的方法和data 中的数据。
		 * 在created阶段处理http请求获取数据或者对data做一定的处理
		 */
		created:{},
		
		/**
		 * template模版已经编译好，但还未挂载到页面，此时页面还是上一个状态。
		 */
		beforeMount:{},
		
		/**
		 * 此时Vue实例初始化完成了，DOM挂载完毕，可以直接操作dom或者使用第三发dom库。
		 * 在mounted阶段操作dom，比如使用jquery，或这其他第三方dom库
		 */
		mounted:{},
		
		/**
		 * 此时data已更新，但还未同步页面。
		 */
		beforeUpdate:{},
		
		/**
		 * data和页面都已经更新完成。
		 */
		updated:{},
		
		/**
		 * Vue实例进入销毁阶段，但所有的 data 和 methods ，指令， 过滤器等都处于可用状态。
		 */
		beforeDestory:{},
		
		/**
		 * 此时组件已经被销毁，data，methods等都不可用。
		 */
		destroyed:{},

	}
</script>

<style>
</style>
