Мне нужно сохранить переменную «colcounter» внутри цикла, которая будет использоваться для заполнения шаблона jsrender.
Вот мой код шаблона
<script id="datascapeTemplate" type="text/x-jsrender">
<div id="dsViewport">
<div class="ds-column" style="width:{{:(name.length*100)}}px;">
<h1 id="datascapeName">{{:name}}</h1>
<div><span id="dsToggle">toggle</span></div>
</div>
{{=colcounter}}
{{for sections}}
<div class="ds-section">
<h3>{{:label}}</h3>
<div class="ds-column" id="start">
{{for items}}
{{* if (colcounter > 4){
colcounter = 1;
}}
</div>
<div class="ds-column" id="start">
{{* } }}
{{*
if ( data.selected || datascape.showInvisible) { }}
<div class="ds-item {{* if (data.featured){ }} nowActive {{*} }} {{* if (data.active){ }} nowActiveRed {{*} }}" background="{{:background}}" bgcolor="#000000" fgcolor="#FFFFFF">
<div class="ds-item-container">
<h4>{{:title}}<br/>{{:time}}</h4>
<p><a item="{{:id}}" href="{{:url}}" class="itemLink">view file {{:colcounter}}</a></p>
</div>
</div>
{{* colcounter++; }}
{{* } }}
{{/for}}
</div>
{{* colcounter=1; }}
</div>
{{/for}}
{{* colcounter=1; }}
</div>
</script>
К сожалению, он печатает на самой первой итерации цикла «Ошибка: colcounter не определен». Дальше работает.
Кажется, способ, которым я инициализирую свою переменную colcounter, не работает, но я не могу найти правильный способ. var colcounter =0
не работает.
ОБНОВЛЕНИЕ
- jsfiddle: http://jsfiddle.net/ZX6Mk/
- colcounter работает сейчас. Я объявил это в глобальной области видимости. Но у меня проблема с datascape.showInvisible. Это также вызывает ошибку
Error: Cannot read property 'showInvisible' of undefined
.
Спасибо за уделенное время, а.