Как добавить тег стиля на голову, используя директиву Angularjs
-
02-01-2020 - |
Вопрос
Привет, я позволяю пользователям указывать, хотят ли они печатать отчеты в ландшафте или портретенном формате.
Мне было интересно, можно ли добавить это (см. Ниже) в голову веб-документа, используя директиву Angularjs?Таким образом, он изменит размер печати в зависимости от ввода пользователя.
<style>@media print{@page {size: landscape}}</style>
. Решение
Это зависит от того, собираетесь ли вы использовать эту функциональность во многих разных местах.Если вам нужно только один раз, то директива может быть переплетением.
Вы можете просто поставить
<style> @media print {@page { size: {{ orientation }} } }</style>
внутри вашего углового контроллера и укажите ориентацию на объем $.
Для моих знаний нет необходимости в тегу стиля быть в голове.
Другие советы
Вы можете использовать директиву NGStyle для условно применения CSS.Смотрите angularjs ngStyle
.Пример в конце ссылки показывает, как это сделать.
Мне пришлось явить пользовательскую таблицу стилей на лету с уникальными идентификаторами, я сделал это красиво работать с Angularjs, как это:
<style type="text/css"
ng-bind="vm.css">
</style>
.
(обратите внимание на использование ng-bind
)
где VM.css выглядит так, что в контроллере
vm.css = `#${$scope.id} { background-color: red; }`
.
Надеюсь, это поможет!