Как добавить тег стиля на голову, используя директиву Angularjs

StackOverflow https://stackoverflow.com//questions/25088519

Вопрос

Привет, я позволяю пользователям указывать, хотят ли они печатать отчеты в ландшафте или портретенном формате.

Мне было интересно, можно ли добавить это (см. Ниже) в голову веб-документа, используя директиву 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; }`
.

Надеюсь, это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top