Шаблон Dojo для цикла, не зацикленного внутри HTML-таблицы - PullRequest
0 голосов
/ 18 июня 2019

Я использую виджет dojo для отображения некоторых данных через шаблон dojo (который использует шаблоны django). При использовании цикла for внутри элемента html цикл выполняется только один раз и не может получить доступ к текущей переменной цикла. Однако тот же цикл за пределами таблицы может выполнять цикл, как и ожидалось.

Я не уверен, почему этот цикл {% for%} не будет работать внутри элемента, но он работает снаружи.

Я попытался включить "dojo / dom-construct", и в моем виджете есть "dojox / dtl / tag / logic". Мой виджет в настоящее время определяется следующим образом:

define([
    "dojo/_base/declare",
    "dijit/_WidgetBase",
    "dijit/_OnDijitClickMixin",
    "dijit/_TemplatedMixin",
    "dijit/_WidgetsInTemplateMixin",
    "dojo/text!views/siteInfo/siteBatteries.html",
    "dijit/registry",
    "dojo/dom",

    "dojox/dtl/_DomTemplated",
    "dojox/dtl/tag/logic",
    "dojo/dom-construct",
],function(declare, _WidgetBase, _OnDijitClickMixin, _TemplatedMixin, _WidgetsInTemplateMixin, template, registry, dom, _DomTemplated){

    return declare([_WidgetBase, _OnDijitClickMixin, _TemplatedMixin, _WidgetsInTemplateMixin, _DomTemplated], {
// WidgetLogic
});
});

Шаблон:

<div class="container" id="SiteOverviewController">
    {{ batteryList.length }}
    <table>
        <thead>
            <tr>
                <th>ObjectId</th>
            </tr>
        </thead>
        <tbody>
            {% for battery in batteryList %}
            <tr>
                <th>{{ battery.attributes.OBJECTID }}</th>
            </tr>
            {% endfor %}
        </tbody>
    </table>

    END TABLE
    START DIV

    {% for battery in batteryList %}
        <div>{{ battery.attributes.OBJECTID }}</div>
    {% endfor %}

</div>

Вывод шаблона выше выглядит следующим образом:

<div class="container" id="SiteBatteryController" widgetid="SiteBatteryController" style="">
    4
    <table style="">
        <thead style="">
            <tr style="">
                <th style="">ObjectId</th>
            </tr>
        </thead>
        <tbody style="">
            <tr style="">
                <th style=""></th>
            </tr>
        </tbody>
    </table>
    END TABLE
    START DIV
    <div style="">2225</div>
    <div style="">2226</div>
    <div style="">2227</div>
    <div style="">2228</div>
</div>

Из вывода видно, что таблица содержит только одну строку с пустым выводом: <tr style=""><th style=""></th></tr> и повторяется только один раз, когда он должен повторяться 4 раза (как видно с элементами) и иметь данные.

1 Ответ

0 голосов
/ 19 июня 2019

Я думаю, что это ошибка в додзё.Для этого я создал проблему github в dojox, смотрите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...