Open zhangsanshi opened 7 years ago
上面的问题,今天看到了解决办法,可以用 with 解决,当然也可以通过正则解决(artTemplate),不过 with 我不喜欢用,正则猛地一看也看不懂,23333.....
这句话
template.split(/{{(.*?)}}/);
改成了
template.split(/<%(.*?)%>/);
发现用 {{,如果写 if 逻辑 很怪, 当然if 逻辑有问题
if 逻辑修复。 新的测试代码
console.log(render(`<div>
<%=o.a+1%></div>
<%
a%>
<%if(o.a>0){ %>
a11
<%} %>
<%if(o.a<=0){ %>
a12
<%} %>
<%if(o.a>=0){ %>
a13
<%} else {%>
a14
<%}%>
<%=1+2%>
<%=#'<'%>
<%='<'%>
<div><%1+1%></div>
`, {
a: 1
}));
简单实现了一个,目前存在的一个很大的问题,无法对变量进行添加调用者操作
测试代码,由于未完成,涉及到变量必须写成o.a的形式,其中o是定死的