vue3.0源码解析之数据代理Proxy

前言

多年前刚转前端的时候,对频繁的拼接页面元素深恶痛绝,当时是通过封装字符串模版来处理页面的。之后又陆续发现,数据变化后需要频繁的修改dom节点来操作页面,便不得不自己写很多更新的代码,直到出现了vue和react、就转向了框架开发。

手写js原生的年代

如果每一次页面元素都需要手动拼接,工作量会很巨大,因此当时便是通过封装字符串模板来进行数据 + html渲染的
如下代码:

var htmlTemplate = '<div clssName="demo">' + 
	'<div className="count">${count}</div>' +
'</div>';
function createHtml(data) {
   
	return htmlTemplate.replace(/\$\{[a-z]+\}/g, function(str) {
   
		// 塞入data数据,产出最终渲染的html成果
		var key = str.substring(2, str.length - 1);
		return data[key];
	})
}

通过上面的方法可以实现封装好一个个的html模版,在实际拼接页面的时候只需要通过数据进行自定义的数据代码块进行替换就好了。

数据渲染的问题解决了,现在我们又遇到了另一个棘手的问题

<div>
	<button onclick="increment">计数</button>
	<div clssName="demo">
		<!-- 这边对应到之前的 ${count} -->
		<div className="count">1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆行的小白菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值