gpt4 book ai didi

html - Angular2 NgStyle 中的两个函数

转载 作者:太空狗 更新时间:2023-10-29 18:08:55 26 4
gpt4 key购买 nike

我想在 ngStyle 中设置两个函数。我试过 [ngStyle]="setAlignmentStyle(element.alignment);setShapeStyle(element.shape);" 但它给出了模板解析错误。

在ngStyle中应该如何设置两个函数?

page.component.ts

export class PageComponent {

// ...

setAlignmentStyle(alignment) {
let styles = {
'margin': alignment === 'center' ? '0 auto' : '',
'float': alignment === 'right' ? 'right' : (alignment === 'left' ? 'left' : ''),
};
return styles;
}

setShapeStyle(shape) {
let styles = {
'border-radius': shape === 'circle' ? '50%' : '',
};
return styles;
}
}

page.component.html

<div [ngStyle]="setAlignmentStyle(element.alignment);setShapeStyle(element.shape);">{{element.text}}</div>

最佳答案

我应用了Decorator设计原则(不是严格的Decorator)。

export class PageComponent {

// ...

setAlignmentStyle(alignment, styles) {
styles = styles || {};

styles.margin = alignment === 'center' ? '0 auto' : '';
styles.float = alignment === 'right' ? 'right' : (alignment === 'left' ? 'left' : '');

return styles;
}

setShapeStyle(shape, styles) {
styles = styles || {};

styles['border-radius'] = shape === 'circle' ? '50%' : '';
return styles;
}
}
<div [ngStyle]="setAlignmentStyle(element.alignment, setShapeStyle(element.shape))">{{element.text}}</div>

关于html - Angular2 NgStyle 中的两个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40673889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com