Вы можете использовать интерполяцию в атрибуте style
, чтобы установить маржу для второго (и третьего, четвертого ...) элементов в вашем ng-repeat
.Соединение частей из комментариев и ответов здесь - ваше рабочее решение.Причина, по которой вы должны использовать <div>
вместо <span>
, заключается в том, что теги <span>
не могут использовать настройки поля или высоты style
.Лично я всегда предпочитаю использовать <div>
элементы для позиционирования.Обычно я использую <span>
вместе с ng-if
для отображения условного текста или для применения шрифта / стилей текста к слову или двум в более длинной строке текста.
<div ng-repeat="sched in day.sched">
<div ng-switch = "sched.open">
<div ng-switch-when = "">
Closed
</div>
<div ng-switch-default style="{{ $index > 0 ? 'margin-left : 100 px' : '' }}">
{{sched.open}} - {{sched.close}}
</div>
</div>
</div>
Причина, по которой я спросил о Bootstrapпотому что это становится немного чище, когда вы используете структуру макета.Bootsrap (и материал) используют макеты типа строки / столбца, что делает достижение того, что вам нужно, проще и быстрее.Когда вам нужно сместить ваши часы, вы просто добавляете класс offset
, используя ng-class
.Лично я считаю, что этот подход намного чище, чем использование интерполяции в атрибуте style
.
<div class="row" ng-repeat="sched in day.sched">
<div ng-switch = "sched.open">
<div class="col-xs-6" ng-switch-when = "">
Closed
</div>
<div class="col-xs-6" ng-switch-default ng-class="{'col-xs-offset-6': $index > 0}">
{{sched.open}} - {{sched.close}}
</div>
</div>
</div>