【问题标题】:Angular 6 Material retreive material colorsAngular 6 Material 检索材质颜色
【发布时间】:2018-12-01 08:55:59
【问题描述】:

"@angular/material": "^6.2.1" 被一个非常小的问题困住了。 无法在我的应用的任何 css/scss 文件中导入任何标准材质颜色,包括 styles.scss

示例:

$app-panel-green: mat-color($mat-green);

在任何 scss 文件中都会出现此错误:

ERROR in ./src/styles.scss (./node_modules/raw-loader!./node_modules/postcss-loader/lib??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss)
Module build failed: 
$app-panel-green: mat-color($mat-green);
                           ^
      Undefined variable: "$mat-green".
      in /**********/src/styles.scss (line 1, column 29)

styles.scss 仅包含(之前除外):

@import "~@angular/material/prebuilt-themes/deeppurple-amber.css";
/*@import './theme.scss';*/

body { margin: 0; }

和预建的主题工作得很好。 我什至不需要自定义主题,只想使用材质调色板。

【问题讨论】:

    标签: css angular sass angular-material2


    【解决方案1】:

    如果你想使用默认调色板之一,你可以这样做:

    @import '~@angular/material/theming'; // Pay attention on the path
    @include mat-core();
    $candy-app-primary: mat-palette($mat-deep-orange);
    $candy-app-accent:  mat-palette($mat-deep-orange, A200, A100, A400);
    $candy-app-warn:    mat-palette($mat-red);
    $candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn);
    @include angular-material-theme($candy-app-theme);
    

    并且不要忘记将您的主题文件包含在 .angular-cli.json 到 styles 部分。

    【讨论】:

    • 但我想使用默认主题。这会将其更改为自定义,对吗?
    • 也只是这样做了 - 颜色导入时出现同样的错误。例如 color: mat-color($mat-deep-purple); -> Undefined variable: "$mat-deep-purple"
    • @user1935987 激活默认的 brebuilt 主题,您只需导入它:@import '~@angular/material/prebuilt-themes/deeppurple-amber.css'; 并将此文件包含到 .angular-cli.json 到 styles 部分。检查这个例子:stackblitz.com/edit/angular-wrhetd?file=src%2Fstyles.css
    • 是的,我这周前做过 :)。问题不是如何设置自定义主题,而是使用材料调色板的问题。 “无法在我应用的任何 css/scss 中导入任何标准材质颜色”
    • @user1935987,尝试从路径中删除波浪号
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 2019-03-31
    • 2018-07-29
    • 2019-05-12
    • 1970-01-01
    相关资源
    最近更新 更多