Cómo agregar una etiqueta de estilo a la cabeza con la Directiva AngularJS
-
02-01-2020 - |
Pregunta
Hola. Estoy permitiendo a los usuarios que especifiquen si desean imprimir informes en un formato de paisaje o retrato.
Me preguntaba si es posible agregar esto (ver más abajo) a la cabeza del documento web usando una directiva angularJS?De esa manera, cambiará el tamaño de la impresión dependiendo de la entrada del usuario.
<style>@media print{@page {size: landscape}}</style>
Solución
Esto depende de si va a utilizar esta funcionalidad en muchos lugares diferentes.Si solo lo necesita una vez, entonces una directiva puede ser exagerada.
Simplemente puedes poner
<style> @media print {@page { size: {{ orientation }} } }</style>
dentro de su controlador angular, y especifique la orientación en el alcance de $.
Para mi conocimiento, no hay necesidad de que la etiqueta de estilo esté en la cabeza.
Otros consejos
Puede usar la Directiva NGSTEY para aplicar condicionalmente CSS.Consulte angularjs ngStyle
.El ejemplo al final del enlace muestra cómo hacerlo.
Tuve que jadear la hoja de estilo personalizado sobre la marcha con ID únicos, lo hice muy bien con Angularjs como este:
<style type="text/css"
ng-bind="vm.css">
</style>
(Tenga en cuenta el uso de ng-bind
)
donde vm.css se ve así en el controlador
vm.css = `#${$scope.id} { background-color: red; }`
espero que esto ayude!