doTjs的坑 说多了都是泪。 总是报Uncaught SyntaxError: Unexpected token :

原因是 解析的模版中注释掉了一部分源码,注释也解析了估计是。

下面都是正确的写法。

<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

猜你喜欢

转载自blog.csdn.net/somdip/article/details/83989241