【发布时间】:2017-12-20 07:48:42
【问题描述】:
我正在尝试将panelClass 配置添加到Angular Material Snackbar。
我根据官方网站的文档编写了以下代码。
import { Component, OnInit } from '@angular/core';
import { MatSnackBar, MatSnackBarConfig } from "@angular/material";
import { Location } from '@angular/common';
@Component({
selector: 'snack-bar-component-example',
templateUrl: './snack-bar-component-example.html',
styleUrls: ['./snack-bar-component-example.css']
})
export class SnackBarComponentExample implements OnInit {
constructor(public snackBar: MatSnackBar) { }
ngOnInit() {
}
saveButtonClick = () =>{
this.snackBar.open("This is a message!", "ACTION", {
duration: 3000,
panelClass: ["font-family:'Open Sans', sans-serif;"]
});
}
}
我已经将事件绑定到 HTML 按钮。当我删除 panelClass 配置时,持续时间配置工作正常。
我正在导入 Google 字体(Open Sans)并尝试将字体应用到 Snackbar。但是,我收到一个错误:
ERROR DOMException: Failed to execute 'add' on 'DOMTokenList': The token provided ('font-family:'Open Sans', sans-serif;') contains HTML space characters, which are not valid in tokens.
也许,我无法理解如何使用panelClass。甚至,当我尝试添加此内容时,
panelClass: ["color:white;"];
仍然显示错误:
ERROR DOMException: Failed to execute 'add' on 'DOMTokenList': The token provided ('color: white;') contains HTML space characters, which are not valid in tokens.
如何解决此错误并让一切正常运行?请帮忙。
PS:我知道extraClasses 配置。但是,我不想使用它,因为它在文档中写到它很快就会被弃用。
PPS::在持续时间配置下运行良好。
【问题讨论】:
标签: angular typescript angular-material