将组件直接绑定到vue实例上面的写法

怎么将组件直接绑定到vue实例上面?

在实际开发过程中,有多种使用vue组件的方式,有在组件中引入,直接挂载到vue进行全局使用,也有直接挂载到vue实例上面当成vue的一个属性来使用的。下面通过代码来实现将组件直接绑定到vue实例。

第一步写个vue组件叫demo

javascript 复制代码
<template>
	<view>
		<view v-if="showFlag" @touchmove.stop.prevent @mousewheel.stop.prevent class="u-demo">
			<view class='demo'>
				<view>
					<image src="../../static/images/demo.png" class="esuc" aria-hidden="true"></image>
				</view>
				<view class="content">{{ content }}</view>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		name: 'demo',
		data() {
			return {
				showFlag: false,
				content: '弹出框里面的内容',
				showCancel: false
			}
		},
	}
</script>

<style scoped>
	.u-demo {
		position: fixed;
		z-index: 999;
		background:rgba(0,0,0,.6);
		height:2000px;
		width:100%;
		top:0;
		left:0;
		right:0;
		bottom:0;
		overflow:hidden;
	}
	.demo {
		position:fixed;
		width:260rpx;
		height:172rpx;
		background:rgba(0,0,0,.7);
		color:#fff;
		font-size:30rpx;
		text-align:center;
		padding-top:44rpx;
		padding-bottom:44rpx;
		top:520rpx;
		bottom:0;
		left:0;
		right:0;
		z-index:100;
		margin:0 auto;
	}
	.esuc {
		width:108rpx;
		height:108rpx;
		margin-bottom:20rpx;
	}
</style>

第二步,写个demo.js 文件,然后在这里把demo组件绑定到构造器上面

javascript 复制代码
import Vue from 'vue'
// 弹窗页面
import uDemo from './demo.vue'
// 弹窗构造器js
const popDemo = Vue.extend(uDemo);
// 生成弹窗的方法
uDemo.install = function(data) {
	let instance = new popDemo({
		data
	}).$mount();
	document.body.appendChild(instance.$el); // 挂载
	Vue.next(()=>{
		// 首次打开显示弹窗
		instance.showFlag = true
		setTimeout(function() {  // 1.5s后隐藏弹窗
			instance.showFlag = false
		},1500)
	})
}

第三步,在main.js 文件中将demo.js文件直接挂载到vue实例上面

javascript 复制代码
import uDemo from '@/components/uDemo/demo.js'
Vue.prototype.$alert = uDemo.install
相关推荐
meilindehuzi_a10 小时前
从零理解并实现 RAG:用 LangChain.js 构建语义检索问答系统
开发语言·javascript·langchain
世界哪有真情11 小时前
拿人类意识卡 AI?等于用 bug 验收正式产品
前端·人工智能·后端
鱼樱前端11 小时前
别再自己拼凑了!这款 Vue 3.5+ 严肃产品级组件库,把 AI 对话、工作流和复杂数据全包了!
javascript·vue.js·github
Listen·Rain12 小时前
Vue3:setup详解
前端·javascript·vue.js
Patrick_Wilson13 小时前
修好 bug 只是开始:一次由监控需求反向重构日志结构的复盘
前端·监控·数据可视化
kyriewen13 小时前
面试官让我优化一个卡死的表格,我打开 Claude 五秒重写,他放下咖啡问我要不要来当组长
前端·javascript·面试
小粉粉hhh14 小时前
React(二)——dom、组件间通信、useEffect
前端·javascript·react.js
Csvn14 小时前
🤖 AI 生成前端代码的 5 个典型翻车现场及修复指南
前端
IT_陈寒15 小时前
SpringBoot自动装配坑了我一天,原来问题出在这
前端·人工智能·后端
索西引擎16 小时前
【React】key 属性:协调算法中的元素标识机制与最佳实践
前端·javascript·react.js