doT.js:如果在dot.js中链接if-else

时间:2014-02-14 16:20:52

标签: javascript jquery dot.js

我正在尝试使用doT.js模板引擎。如果在dot.js喜欢

,如何嵌套if-else
if()
 .....
else if
 .....
else if
 .....
else
 .....

3 个答案:

答案 0 :(得分:19)

您可以使用以下语法:

{{? it.name }}
<div>Oh, I love your name, {{=it.name}}!</div>
{{?? it.age === 0}}
<div>Guess nobody named you yet!</div>
{{?? it.age > 20}}
<div>You're old!</div>
{{??}}
You are {{=it.age}} and still don't have a name?
{{?}}

以上编译为:

function anonymous(it /**/) 
{ 
    var out='';

    if(it.name)
    {
        out+='<div>Oh, I love your name, '+(it.name)+'!</div>';
    }
    else if(it.age === 0)
    {
        out+='<div>Guess nobody named you yet!</div>';
    }
    else if(it.age > 20)
    {
        out+='<div>You\'re old!</div>';
    }
    else
    {
        out+='You are '+(it.age)+' and still don\'t have a name?';
    }
    return out; 
}

基本上,只需继续添加{{?? condition}},直至到达{{?}}(块的结尾)。

答案 1 :(得分:1)

你可以这样做:

&#13;
&#13;
<!-- CONDITIONAL !-->
<!-- if -->
<div>
    {{? it[0].firstName }}
    {{=it[0].firstName }}
    {{?}}
</div>

<!-- if / else if / else -->
<div>
    <!-- if -->
    {{? it[0].lastName }}
    <span>First name is set</span>

    <!-- else if -->
    {{?? it[0].zip}}
    <span>You don't have a last name</span>

    <!-- else if -->
    {{?? it[0].firstName}}
    <span>Your firstName is: {{=it[0].firstName}}</span>

    <!-- else if end -->
    {{??}}
                         
    <!-- else -->
    <span>You didn't set your name</span>
                         
    <!-- if end -->
    {{?}}
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

此图片代码不正确:

	
<img src="{{=(user.absolutePath=='')?'img/user-shape.png':user.absolutePath;}}">

这是正确的:

            {{~it.userCollection[0].attributes.admin :user:index}}
                <div class="team-content-user">
                <!-- if not null-->
                {{?user.absolutePath}}
                    <img src="{{=user.absolutePath}}">
                    <!-- if not (not null) -->
                    {{??!user.absolutePath}}
                    <img src="img/user-shape.png">
                    {{??}}
                {{?}}
                {{=user.email}}</br>

                </div>
            {{~}}