J'ai angulaire modèle qui ressemble à ceci...
<div ng-repeat="message in data.messages" ng-class="message.type">
<div class="info">
<div class="type"></div>
<div class="from">From Avatar</div>
<div class="createdBy">Created By Avatar</div>
<div class="arrowTo">
<div class="arrow"></div>
<div class="to">To Avatar</div>
</div>
<div class="date">
<div class="day">25</div>
<div class="month">Dec</div>
</div>
</div>
<div class="main">
<div class="content">
<div class="heading2">{{message.title}}</div>
<div ng-bind-html="message.content"></div>
</div>
</div>
<br />
<hr />
<br />
</div>
J'ai mis en place un JSfiddle pour afficher les données lié.
Ce que je dois faire, c'est de faire le "de", "à" et "arrowTo" divs montrer, sous certaines conditions, en fonction du contenu des données.
Le journal est c'est...
- Si il y a un "de" dans l'objet de données, puis de montrer la "" de la div et la liaison de données, mais ne montrent pas le "createdBy" div .
- Si il n'y a pas de "partir" de l'objet, mais il y a un "createdBy" objet de montrer ensuite la "createdBy" div et la liaison de données.
- Si il y a un "objet" dans les données, puis les "arrowTo" div et de lier des données.
Ou en clair, si il y a une adresse de le montrer, sinon de montrer qui a créé la notice, au lieu et s'il est à l'adresse de montrer ensuite que trop.
J'ai regardé dans l'aide de ng-switch, mais je pense que j'aurais à ajouter de balisage qui laisserait une div vide si il n'y a pas de données. En Plus, j'avais besoin d'nid commutateur directives et je ne suis pas sûr que ça marcherait.
Des idées?
Mise à JOUR:
Si je devais écrire mon propre directive (Si je savais comment faire!) alors voici le pseudo-code pour montrer comment j'ai envie de l'utiliser...
<div ng-if="showFrom()">
From Template Goes Here
</div>
<div ng-if="showCreatedBy()">
CreatedBy Template Goes Here
</div>
<div ng-if="showTo()">
To Template Goes Here
</div>
Chacun de ces disparaîtrait si la fonction/expression évaluée à false.