#javascript #angularjs
#javascript #angularjs
Вопрос:
У меня есть некоторый код, который по какой-то причине я не могу разделить:
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-database"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:;">
<i class="fa fa-check"></i>
</a>
<a class="pending" href="javascript:;">
<i class="fa fa-close"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">
<a href="javascript:;">Directive</a>
</h4>
<p>blagh {{unit.elements.journal.definition.directive}}</p>
</div>
</li>
рендерится нормально
но
<li ng-repeat="definition in unit.elements.journal.definition" class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-database"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:;">
<i class="fa fa-check"></i>
</a>
<a class="pending" href="javascript:;">
<i class="fa fa-close"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">
<a href="javascript:;">Directive</a>
</h4>
<p>blagh {{definition.directive}}</p>
</div>
</li>
не работает.
Почему я не могу правильно вложить ng-repeat? Я делал что-то подобное раньше, и у меня не было никаких проблем, и сейчас я даже не знаю, как это правильно отладить. Для меня это не имеет смысла.
Комментарии:
1. я верю, что unit.elements.journal.definition.directive является объектом. попробуйте (ключ, значение) в unit.elements.journal.definition
2. когда вы не совсем уверены, легко проверить, с чем вы работаете, в представлении:
<pre>{{unit.elements.journal.definition | json}}</pre>
Ответ №1:
Вы уверены unit.elements.journal.definition
, что это массив? Судя по вашему фрагменту, это похоже на объект, потому что вы вызываете из него свойство unit.elements.journal.definition
.
Попробуйте это и посмотрите, правильно ли это отображается, если это так, это, безусловно, проблема в вашем массиве.
<li ng-repeat="definition in [{directive: 'test'}]" class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-database"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:;">
<i class="fa fa-check"></i>
</a>
<a class="pending" href="javascript:;">
<i class="fa fa-close"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">
<a href="javascript:;">Directive</a>
</h4>
<p>blagh {{definition.directive}}</p>
</div>
</li>
Комментарии:
1. это не массив… Я предполагаю, что это вызывает проблему. Глупый я. Спасибо!