如何将多个对象 属性 应用于 ngStyle
How to apply multiple object property to ngStyle
我的 HTML 中有这样一个元素:
<span [ngStyle]="{'background': getColor(selectedOption.type)}">BLAH</span>
我的 TS 文件中有这样一个条件:
public getColor(type: string){
switch (type) {
case 'General':
return {background: '#ffe5d7', color: '#e7560a' };
case 'Interview':
return { background: '#ffe5d7', color: '#e7560a' };
//more code
基本上,如果用户选择“常规”,我希望从函数返回正确的背景和字体颜色,并使用 ngStyle 将其应用于元素。但这不能正常工作。我做错了什么?
试试这个:
<span [ngStyle]="getColor(selectedOption?.type)">BLAH</span>
public getColor(type: string | undefined){
if (type) {
switch (type) {
case 'General':
return {background: '#ffe5d7', color: '#e7560a' };
case 'Interview':
return { background: '#ffe5d7', color: '#e7560a' };
//more code
case default:
return {};
}
return {};
}
编辑:我刚读到@Onur Baştürk 在我之前回答过。
他是对的,你在复制 background 属性,
一个在 HTML ([ngStyle]="{'background':...) 中,另一个在您的 ts 代码中:
return {background: '#ffe5d7', color: '#e7560a' ....
我的 HTML 中有这样一个元素:
<span [ngStyle]="{'background': getColor(selectedOption.type)}">BLAH</span>
我的 TS 文件中有这样一个条件:
public getColor(type: string){
switch (type) {
case 'General':
return {background: '#ffe5d7', color: '#e7560a' };
case 'Interview':
return { background: '#ffe5d7', color: '#e7560a' };
//more code
基本上,如果用户选择“常规”,我希望从函数返回正确的背景和字体颜色,并使用 ngStyle 将其应用于元素。但这不能正常工作。我做错了什么?
试试这个:
<span [ngStyle]="getColor(selectedOption?.type)">BLAH</span>
public getColor(type: string | undefined){
if (type) {
switch (type) {
case 'General':
return {background: '#ffe5d7', color: '#e7560a' };
case 'Interview':
return { background: '#ffe5d7', color: '#e7560a' };
//more code
case default:
return {};
}
return {};
}
编辑:我刚读到@Onur Baştürk 在我之前回答过。 他是对的,你在复制 background 属性, 一个在 HTML ([ngStyle]="{'background':...) 中,另一个在您的 ts 代码中:
return {background: '#ffe5d7', color: '#e7560a' ....