0830-弹框组件源码的实现

弹框组件的实现;

**实现思路**:

1.封装一个Notice.vue的组件,主要放置弹框组件的模板样式;
2.接受父组件传递的参数:title、message、duration
3.data里面定义弹框的状态
4.实现两个方法一个是组件的显示一个是组件的隐藏;在组件显示的方法里面实现一个定时关闭的方法;
在隐藏的方法里面调用remove() remove()方法是在调用的自己实现的create方法里面
5.实现一个create方法;用来把弹框组件在body标签后面追加
	实现方法1:
	1.通过实例化组件,使用render方法。最后调用$mount把虚拟DOM转化真实的DOM;如果$mount()方法
	传入了参数,那么表示替换该节点,
	2.将转化真实的DOM通过document.body.appendChild(vm,$el)
	3.获取组件的实例给实例绑定remove()方法;调用document.body.removeChild(vm.$el);最后
	vm.$destory()销毁组件,防止资源占用
	4.将组件实例返回 return comp;
	实现方法2:
	//把组件传进入
	const Ctor = Vue.extend(Component);
	//创建组件实例,挂载到dom
	const Comp = new Ctor({
		propsData: options
	}).$mount();
	//将组件实例添加到body上
	document.body.appendChild(Comp.$el);
	Comp.remove = () => {
		//删除dom
		document.body.removeChild(Comp.$el);
		//销毁组件
		Comp.$destroy();
	};
	//返回Component组件实例
	return Comp;
6.使用create方法:
create(Notice, {
    title: "来搬砖",
    message: isValid ? "成功" : "失败",
    duration: 3000,
}).show();

1.调用create方法在这里插入图片描述
2.实现的create方法
create方法的实习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值