Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Angular 2. Переписываю компонент с knockout (https://javascript.ru/forum/angular/66693-angular-2-perepisyvayu-komponent-s-knockout.html)

Digan 03.01.2017 13:33

Angular 2. Переписываю компонент с knockout
 
Неплохо знаю knockout. Хочу разобраться с Angular 2. Решил, что неплохой практикой будет переписать свой же компонент с knockout на Angular 2.

Для knockout теймплейт выглядит примерно так:
<script type="text/html" id="templateName">
<li>
  <span data-bind="text: Text"><span>
</li>
    <!-- ko with: Nodes -->
    <!-- ko template: { name: 'templateName', foreach: $data } -->      <!-- /ko -->
    <!-- /ko -->
</script>

т.е. теймплейт внутри себя использует себя же для отображения Nodes. Как такое для Angular 2 сделать?

Digan 06.01.2017 02:06

Вроде нашел решение.
<template #templateName let-node>
        <li>
            <span>{{node.Text}}</span>
        </li>
        <template ngFor [ngForOf]="node.Nodes" [ngForTemplate]="templateName" let-i="index"></template>
    </template>
    <ul class="list-group">
        <template ngFor [ngForOf]="nodes" [ngForTemplate]="templateName" let-i="index"></template>
    </ul>


Два общих вопроса, которые меня волнуют:

1. Как убрать из кода комментарии типа ng-reflect-?

2. Почему @angular/compiler/bundles/compiler.umd.js и @angular/core/bundles/core.umd.js грузятся каждый по 2 секунды? Они вместе весят всего 300 кб. Причем загрузка происходит с диска, а не с какого-нибудь CDN.


Часовой пояс GMT +3, время: 03:53.