首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >doT.js每3次迭代一次

doT.js每3次迭代一次
EN

Stack Overflow用户
提问于 2013-11-26 10:46:44
回答 2查看 3.5K关注 0票数 6

我有一个doT.js模板,如下所示:

代码语言:javascript
复制
{{?it.books.length }}
{{~it.books :value}}
<li>
    <article class='Teaser'>
        <a href='{{=value.url}}' title='{{=value.title}}'>
            <img src='{{=value.image}}' />
        </a>
        <h3>
            <a href='{{=value.url}}' title='{{=value.title}}'>{{=value.title}}</a>
        </h3>
    </article>
</li>
// this should only be rendered every 3rd time
<br class='clear' />
{{~}}
{{?}}

最后的br标记只应该每三次呈现一次。我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-27 13:39:07

试试这个:

代码语言:javascript
复制
{{?it.books.length }}
{{~it.books :value:index}}
<li>
    <article class='Teaser'>
        <a href='{{=value.url}}' title='{{=value.title}}'>
            <img src='{{=value.image}}' />
        </a>
        <h3>
            <a href='{{=value.url}}' 
                title='{{=value.title}}'>{{=value.title}}</a>
        </h3>
    </article>
</li>
{{? index % 3 == 2 }}
<br class='clear' />
{{?}}
{{~}}
{{?}}

如果要避免在列表末尾添加元素(当集合的长度可被3整除时发生),请替换

代码语言:javascript
复制
{{? index%3 == 2 }}

使用

代码语言:javascript
复制
{{? it.books.length-1 != index && index % 3 == 2 }}
票数 11
EN

Stack Overflow用户

发布于 2015-12-31 15:10:53

看看一个稍微复杂一些的案子

代码语言:javascript
复制
{
    "result": [
            ["Administrators", 1, [{
                    "id": 189,
                    "role_id": 1,
                    "user": {
                        "id": 8,
                        "username": "agnaldocarmo@gmail.com",
                        "email": "agnaldocarmo@gmail.com",
                        "firstName": "Agnaldo",
                        "lastName": "Carmo",
                        "created": {
                            "date": "2015-09-25
                            18: 56: 25.000000 ","
                            timezone_type ":3,"
                            timezone ":"
                            America\ / Sao_Paulo "},"
                            modified ":{"
                            date ":"
                            2015 - 09 - 25 18: 56: 25.000000 ","
                            timezone_type ":3,"
                            timezone ":"
                            America\ / Sao_Paulo "},"
                            relativePath ":"
                            ws\ / uploads\ / User\ / 8\ / 0278845942. jpg ","
                            absolutePath ":"
                            ws\ / uploads\ / User\ / 8\ / 0278845942. jpg ","
                            role ":[1],"
                            language_id ":3
                        }
                    }]],
                ["Writers", 2, [{
                        "id": 135,
                        "role_id": 2,
                        "user": {
                            "id": 7,
                            "username": "camilaguimaraes",
                            "email": "camilag
                            @gmail.com ","
                            firstName ":"
                            Camila ","
                            lastName ":"
                            Guimaraes ","
                            created ":{"
                            date ":" - 0001 - 11 - 30 00: 00: 00.000000 ",
                            "timezone_type": 3,
                            "timezone": "America\/Sao_Paulo"
                        },
                        "modified": {
                            "date": "-0001-11-30 00:00:00.000000",
                            "timezone_type": 3,
                            "timezone": "America\/Sao_Paulo"
                        },
                        "relativePath": null,
                        "absolutePath": null,
                        "role": [2],
                        "language_id": 1
                    }
                }, {
                    "id": 183,
                    "role_id": 2,
                    "user": {
                        "id": 20,
                        "username": "agnaldo12@hotmail.com",
                        "email": "agnaldo12@hotmail.com",
                        "firstName": "Agnaldo",
                        "lastName": "Carmo",
                        "created": {
                            "date": "2015-11-23 10:41: 34.000000 ","
                            timezone_type ":3,"
                            timezone ":"
                            America\ / Sao_Paulo "},"
                            modified ":{"
                            date ":"
                            2015 - 11 - 23 10: 41: 34
                            .000000 ","
                            timezone_type ":3,"
                            timezone ":"
                            America\ / Sao_Paulo "},"
                            relativePath ":null,"
                            absolutePath ":null,"
                            role ": [2, 3, 4],
                            "language_id": 1
                        }
                    },
                    {
                        "id": 186,
                        "role_id": 2,
                        "user": {
                            "id": 2,
                            "username": "zarkok@gmail.com",
                            "email": "zarkok@gmail.com",
                            "firstName": "zarko",
                            "lastName": "krneta",
                            "created": {
                                "date": "-0001-11-30 00:00:00.000000",
                                "timezone_type": 3,
                                "timezone": "America\/Sao_Paulo"
                            },
                            "modified": {
                                "date": "2015-06-10 15:51:30.000000",
                                "timezone_type": 3,
                                "timezone": "America\/Sao_Paulo"
                            },
                            "relativePath": "ws\/uploads\/User\/2\/1327788642.jpg",
                            "absolutePath": "ws\/uploads\/User\/2\/1327788642.jpg",
                            "role": [2],
                            "language_id": 1
                        }
                    }]],
                ["Editors", 3, [{
                            "id": 184,
                            "role_id": 3,
                            "user": {
                                "id": 20,
                                "username": "agnaldo12@hotmail.com",
                                "email": "agnaldo12@hotmail.com",
                                "firstName": "Agnaldo",
                                "lastName": "Carmo",
                                "created": {
                                    "date": "2015-11-23 10:41:34.000000",
                                    "timezone_type": 3,
                                    "timezone": "America\ / Sao_Paulo "},"
                                    modified ":{"
                                    date ":"
                                    2015 - 11 - 23 10: 41: 34.000000 ","
                                    timezone_type ":3,"
                                    timezone ":"
                                    America\ / Sao_Paulo "},"
                                    relativePath ":null,"
                                    absolutePath ":null,"
                                    role ":[2,3,4],"
                                    language_id ":1}}]],["
                                    Auditors ",4,
                                    [{
                                            "id": 185,
                                            "role_id": 4,
                                            "user": {
                                                "id": 20,
                                                "username": "agnaldo12@hotmail.com",
                                                "email": "agnaldo12@hotmail
                                                    .com ","
                                                firstName ":"
                                                Agnaldo ","
                                                lastName ":"
                                                Carmo ","
                                                created ":{"
                                                date ":"
                                                2015 - 11 - 23 10: 41: 34.000000 ","
                                                timezone_type ": 3,
                                                "timezone": "America\/Sao_Paulo"
                                            },
                                            "modified": {
                                                "date": "2015-11-23 10:41:34.000000",
                                                "timezone_type": 3,
                                                "timezone": "America\/Sao_Paulo"
                                            },
                                            "relativePath": null,
                                            "absolutePath": null,
                                            "role": [2, 3, 4],
                                            "language_id": 1
                                        }
                                    }]],
                            ["teste", 6, null],
                            ["teste1", 7, null],
                            ["teste2", 8, null]]
                    }
代码语言:javascript
复制
    {{ for(var prop in it.userCollection) { }}
         <!-- Prints {{=prop}} "msg" -->
        </br>
        <div> {{=it.userCollection[prop]['attributes'][0]}}</div>
        </br>
        {{ for(var numProp in it.userCollection[prop]['attributes'][2]) { }}
        {{
            var VRoleId = it.userCollection[prop]['attributes'][2][numProp]['role_id'];
            var user = it.userCollection[prop]['attributes'][2][numProp]['user'];
        }}
        <!-- Prints "a: a1" and "b: b1" -->
            <div>Role id {{=VRoleId }}</div>
            <div>User Name{{=user['username'] }}</div>
        {{ } }}
    {{ } }}

其结果

管理员

角色id 1用户Nameagnaldocarmo@gmail.com

作家

角色id 2用户Namecamilaguimaraes角色id 2用户Nameagnaldo12@hotmail.com角色id 2用户Namezarkok@gmail.com

编辑者

角色id 3用户Nameagnaldo12@hotmail.com

审计师

角色id 4用户Nameagnaldo12@hotmail.com

teste1

teste2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20214900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档