2017-09-16 3 views
0

Je codage dans angulaire 4.3.6 en utilisant @ matériau angulaire/@ 2.0.0-beta.10matériau angulaire thématisation: consommer l'objet de définition de thème dans un autre fichier SCSS

Angular Material Document dit

Si vous voulez consommer l'objet de définition de thème (par exemple, $ candy-app-theme) dans d'autres fichiers SCSS, puis la définition de l'objet thème doit être divisée en son propre fichier, distincte de l'inclusion du mat-core et mixins angulaire-matériel-thème.

Comment l'archiver? Pour être précis, je le suivais dans mon haut niveau SCSS:

@import '[email protected]/material/theming'; 
// Include non-theme styles for core. 
@include mat-core(); 
$primary: mat-palette($mat-indigo, 400, 100, 900); 

comment puis-je faire principale $ dans d'autres fichiers SCSS?

Dans le passé, je @include mat-core() partout. Il est juste réconfort que j'ai remarqué que

Ceci devrait seulement être inclus une fois dans votre application. Que faut-il faire pour que je puisse mapper-obtenir ($ primary) dans d'autres fichiers scss?

Répondre

0

J'ai trouvé la réponse par un essai.

Il suffit de suivre les instructions à la lettre et ne rien faire d'autre: ne pas @include le mat-core() à tout autre endroit autre que le plus haut scss.

Vous êtes autorisé à @import le [email protected]/material/theming plusieurs fois. Dans chaque script scss, vous avez besoin de nouveau mat-palette ou $mat-indigo, @import.

// on other scss other than the root one, @import as usual 
@import '[email protected]/material/theming'; 
// @include mat-core(); but don't @include this again 
$primary: mat-palette($mat-indigo, 400, 100, 900);