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>

¿Fue útil?

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!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top