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


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

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

    第一步写个vue组件叫demo

    <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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62

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

    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)
    	})
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

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

    import uDemo from '@/components/uDemo/demo.js'
    Vue.prototype.$alert = uDemo.install
    
    • 1
    • 2
  • 相关阅读:
    跑步蓝牙耳机推荐,2022年跑步耳机排名
    Java final修饰符详解
    数据库连接池
    [LeetCode 1774]最接近目标价格的甜点成本
    js获取当前日期(年份,月份,时间)
    Eyeshot 2023.3 Released 建议更新Crack
    负载均衡下webshell连接nginx解析漏洞、sql注入第一关
    Linux下命令行文件创建删除、目录创建删除
    internship:熟悉项目代码的几个步骤
    linux下统计当前目录子目录的个数
  • 原文地址:https://blog.csdn.net/baogeprh/article/details/136489147