原因是解析的模版中注释掉了一部分 html 源码。 估计注释也解析了。坑 ,说多了都是泪。
下面都是正确的写法。
<script id="act-template_doctor" type="text/x-dot-template">
{{~it:value:index}}
<li class="aui-list-item">
<div class="aui-media-list-item-inner">
<div class="aui-list-item-inner">
<div class="aui-list-item-title aui-margin-b-10">
<span class="aui-font-size-16 experts_title">{{=value.deptName}}</span>
</div>
{{~value.list:v:i}}
<div class="aui-row">
<div class="aui-col-xs-4 aui-padded-l-5">{{=v.roomNo}}</div>
<div class="aui-col-xs-6 aui-padded-l-5">{{=v.doctorName}}医生</div>
<div class="aui-col-xs-2 aui-padded-r-10 aui-font-size-20 experts_num">{{=v.clinicNo}}</div>
</div>
{{~}}
<div class="aui-list-item-text aui-margin-t-5">
更新于:{{=parseInt(v.sendDiff/60)}}分钟{{=parseInt(v.sendDiff%60)}}秒前
</div>
</div>
</div>
</li>
{{~}}
</script>
附上学习的doTjs的用法,有我的整合,基本全了,该注意的也有了。拿走不谢!!!
doT.js 语法简介
1、最常规用法{{=it.attr}}
<span>姓名:{{=it.name}}</span>
2、循环数组{{~}}
{{~it:value:index}} <li><span>姓名:{{=value.name}}</span></li>
3、条件渲染{{?}}{{??}},相当于原生的if else if {{~}}
{{?!value.age}}
<li><span>年龄:年龄数据缺失</span></li>
{{??!value.fun}}
<li><span>爱好:无趣的人</span></li>
{{??}}
<li><span>年龄:{{=value.age}}</span><span>爱好:{{=value.fun}}</span></li>
{{?}}
* {{? typeof it[prop]==’object’ }} 表示条件判断,结束标签是{{?}}
4、编码渲染{{!}},主要是为了防止代码注入以保障安全,如传入一个HTML片段或js片段,它会以字符串的形式渲染
{"name":"李四","age":24,"html":"<b>哈哈</b>","bz":false}
爱好:<span>{{!value.html}}</span>
亲测在模板里{{= XXX}}、或者{{? XXX}}、即在"{{}}"内是可以直接使用全局变量以及方法名、 以及运算符
1.比如 {{= hostUrl + it.imageUrl}} 这里的hostUrl 为一个全局变量
2.{{= sayHello() }}这里sayHello()是一个有返回值的方法
3.使用三目运算符 {{? it.open ? "true":"false"}} 则条件真的时候返回true, 假的时候返回false