У меня есть шаблон angular, который выглядит так:
<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>
Я установил JSfiddle, чтобы показать связанные данные.
Что мне нужно сделать, так это то, что div из "from" , "to" и "arrowTo" показывают условно, в зависимости от содержимого данных.
Журнал - это...
- Если в данных есть объект "from" , тогда отобразите "из" div и привяжите данные, но не покажите div "createdBy" .
 - Если объект "from" отсутствует, но есть объект "createdBy" , тогда отобразите div "createdBy" и привяжите данные.
 - Если в данных есть объект "to", тогда отобразите div "arrowTo" и привяжите его.
 
Или на простом английском языке, если есть адрес, покажите его, иначе покажите, кто создал запись, а если есть адрес, то также покажите это.
Я изучил использование ng-switch, но я думаю, что мне пришлось бы добавить дополнительную разметку, которая оставила бы пустой div, если бы не было данных. Плюс мне нужно было бы установить директивы switch, и я не уверен, что это сработает.
Любые идеи?
UPDATE:
Если бы я написал свою собственную директиву (если бы я знал, как!), то вот какой-то псевдо-код, чтобы показать, как я хочу его использовать...
<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>
Каждый из них исчезнет, если функция/выражение оценивается как false.