2016-12-11 4 views
1

У меня есть ниже кодКак объявить переменную только для использования в шаблоне Angular2

<ion-card > 
    <ion-card-content> 
     <ion-chip *ngFor="let skill of contact.skills | split"> 
     <ion-label>{{skill}}</ion-label> 
     </ion-chip> 
    </ion-card-content> 
    </ion-card> 

, то я хочу, чтобы скрыть карту, если нет никаких навыков, поэтому я изменил его

<ion-card [hidden]="(contact.skills | split).length == 0"> 
    <ion-card-content> 
     <ion-chip *ngFor="let skill of contact.skills | split"> 
     <ion-label>{{skill}}</ion-label> 
     </ion-chip> 
    </ion-card-content> 
    </ion-card> 

, и он работает нормально, но проблема в том, что значение будет разделять трубу дважды, тогда как я могу определить переменную и использовать трубу один раз?

Я попытался ниже, но не работает

<ion-card #skills="contact.skills | split" [hidden]="skills.length == 0"> 
    <ion-card-content> 
     <ion-chip *ngFor="let skill of skills"> 
     <ion-label>{{skill}}</ion-label> 
     </ion-chip> 
    </ion-card-content> 
    </ion-card> 

ответ

1

Вы не можете использовать переменные шаблона, чтобы назначить пользовательские значения.

Переменные шаблон может быть использовано только для обозначения элементов и компонентов непосредственно или по имени (exportAs) или присваивать значения из конструкционных директив контекста как let idx=index в *ngFor

Для вашего случая использования создать поле в компонентах class вместо этого и привязать к этому классу.

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