2017-01-05 4 views
0

Я тестирую дерево в Angular 2. В настоящее время я имею в виду http://plnkr.co/edit/vd9XXAQTHXxkCXaSjUHb. Есть некоторые части, которые я не могу понять, особенно content-list.component.ts. Внутри li существует класс с именем «tree__branch». Это уже существующий класс? Я полностью не могу понять. И есть переменная с именем «toggle» в contentNode, но я не могу найти эту переменную в contentNode внутри Component, как мы могли бы ее использовать? И моя конечная цель - изменить «-» и «+» на значки. Если кто-то знаком с этими вещами, не могли бы вы дать несколько путеводителей?Создание treeview в Angular 2

<ol class="tree"> 
      <li *ngFor="#contentNode of contentNodes" class="tree__branch" [ngClass]="{'tree__branch--has-children': contentNode.HasChildren}"> 
       <a *ngIf="contentNode.HasChildren" (click)="contentNode.toggle=!contentNode.toggle" class="toggle">{{ !!contentNode.toggle ? '-' : '+' }}</a> {{ contentNode.Name }} 
       <content-list *ngIf="contentNode.toggle" [startingNode]="contentNode.Id"></content-list> 
      </li> 
     </ol> 
<div class="error" *ngIf="errorMessage">{{errorMessage}}</div> 
+0

Что означает «конечная цель - изменить символы« - »и« + »на значки? Плункер не работает (может быть, только я, имел некоторые проблемы, которые уже сегодня запущены плунжерами). –

+0

Я имею в виду, что мне не нравится + и - для расширения и сглаживания в части {{!! contentNode.toggle? '-': '+'}}. Я хотел бы использовать изображения вместо + и -. –

+0

Я могу запустить его успешно. –

ответ

0

class="tree__branch"

просто старый стиль класс обычный HTML CSS. Вы можете использовать его для стилизации с помощью CSS. Это вовсе не Угловое.

тумблер просто атрибут, добавленный к элементам данных, загруженных из app/data.json, что указывает на открытую/закрытое состояние узла

Чтобы получить иконкам, а +/- текст просто использовать

<a *ngIf="contentNode.HasChildren" (click)="contentNode.toggle=!contentNode.toggle" class="toggle"> 
    <img src="expand.png" *ngIf="!!contentNode.toggle"> 
    <img src="collapse.png" *ngIf="!contentNode.toggle"> 
</a> {{ contentNode.Name }} 
+1

славный бородаж! – PierreDuc

+1

Yup, мне тоже нравится. Я подумываю о том, чтобы расти по-настоящему: D Кажется, что вы живете довольно холодно? ;-) Здесь идет снег, но моя шляпа не такая теплая, как ваш шарф ;-) –

+0

Внутри contentNode отсутствует явная переменная 'toggle', поэтому я спросил. Благодарю за ваш ответ. –

Смежные вопросы