Я хотел бы создать директиву, которая не нуждается в ngRepeat, потому что в директиве есть некоторые дополнительные функции, которые не играют хорошей роли с ngRrepeat.Создать список без ngRepeat
Это моя директива с нг-повторить:
<div>
<ul>
<li ng-repeat="item in items track by $index" ng-class="attrs.itemTheme" data-item="{{ item[attrs.itemId]}}">
<div ng-include="attrs.tpl"></div>
</li>
</ul>
</div>
attrs.tpl, нт-измерение другой директива, которая использует значения элементов из ngRepeat:
<script type="text/ng-template" id="dimension-item-tpl.html">
<div nt-dimension x-attrs="item"></div>
</script>
Без ngRepeat:
<div>
<ul></ul>
</div>
Может кто-нибудь, пожалуйста, приведи пример, я с этим борюсь.
Пример кода: http://jsfiddle.net/mato75/4zhLtjbw/
Не работает пример: http://jsfiddle.net/mato75/ztLhpf2g/
Got скомпилировать и добавить шаблон ngIncluded, но проблема в том, что она собирает только последний, потому что цикл дайджеста должен замедляться.
var el = jqElm.find('ul');
scope.attrs.list.forEach(function (vl) {
var tmp =
'<li class="' + attrs.itemTheme + '" data-item="' + vl.id + '">' +
'<div ng-include="\'' + attrs.itemTpl + '\'"></div>' +
'</li>';
scope.item = vl; // this is to slow :(
var b = $compile(tmp)(scope);
el.append(b);
});
Посмотрите на этот пост http://stackoverflow.com/questions/16269184/how-to-insert-compiled-html-code-inside-the-directive-without-getting- digest –
Ошибка: [$ интерполяция: interr] Невозможно интерполировать: {{generatedList}} – puppeteer701
и как это будет работать, здесь мне все равно нужно ngRepeat – puppeteer701