角度材质2动态主题颜色

时间:2018-05-02 15:11:46

标签: angular angular-material angular-material2

我需要在我的Angular 4应用程序中构建一个使用material2并覆盖所选主题的表单(我已导入一个,deeppurple-amber,因为没有主题,某些组件无法正确加载)。我已经看到我可以使用scss文件定义自己的主题,但是我需要将主要颜色覆盖为用户先前定义的颜色,并存储在本地存储中

所以我在我的组件中有这个:ts:

export class MyFormComponent implements OnInit {
    ...
    myPrimaryColor: string
    ...

    ngOnInit(){
        ...
        this.myPrimaryColor = localStorage.getItem('primarycolor');
        ...
    }
}

有没有办法可以插入素材输入并在html文件中自定义这样的主要颜色?

<mat-form-field *ngFor="let field of fields" [color]="#myPrimaryColor">
    <input matInput [placeholder]="field.text">
</mat-form-field>

我搜索了材料文档但未找到任何输入或formfield属性。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

def readFileExamples(filename): in_file=open(filename) examples = [] tmp = [] for line in in_file: if line == "#List of samples:\n": # examples are over, we will start samples now examples = tmp.copy() tmp.clear() if '#' not in line: ident, name, heads, eyes, mouths, legs, tails, horns, rings, thorns, scales = line.strip().split('; ') tmp.append((ident, name, heads, eyes, mouths, legs, tails, horns, rings, thorns, scales)) in_file.close() samples = tmp.copy() return examples, samples if __name__ == '__main__': print(readFileExamples('scratch.txt')) 选项不是CSS属性 - 它是一个Angular Material指令,接受colorThemePalette'primary''accent''warn'。这些颜色与应用程序的主题相关联。如果您想根据用户选择的值更改单个组件的样式,可以使用undefined执行此操作:

ngStyle