Question

Salut, je suis en permettant aux utilisateurs de spécifier s'ils souhaitent imprimer des rapports dans un paysage ou portrait format.

Je me demandais si il est possible d'ajouter ceci (voir ci-dessous) dans l'en-tête du document web à l'aide d'un angularjs directive?De cette façon, il va changer la taille d'impression, en fonction de la saisie de l'utilisateur.

<style>@media print{@page {size: landscape}}</style>
Était-ce utile?

La solution

Cela dépend si vous allez être en utilisant cette fonctionnalité dans de nombreux endroits différents.Si vous avez seulement besoin une fois, puis une directive peut-être exagéré.

Vous pouvez simplement mettre

<style> @media print {@page { size: {{ orientation }} } }</style>

au sein de votre angulaire contrôleur, et de spécifier l'orientation sur le $scope.

À ma connaissance il n'y a pas besoin de l'étiquette de style à être dans la tête.

Autres conseils

Vous pouvez utiliser le ngStyle directive conditionnelle, d'appliquer le style css.Voir AngularJS ngStyle.L'exemple à la fin du lien qui montre comment faire.

J'ai eu de caisse personnalisée de la feuille de style à la volée avec des Identifiants uniques, je l'ai fait bien travailler avec angularJS comme ceci :

<style type="text/css"
               ng-bind="vm.css">
        </style>

(notez l'utilisation de ng-bind)

où vm.css ressemble à ça dans le contrôleur

vm.css = `#${$scope.id} { background-color: red; }`

Espérons que cette aide!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top