Angular 为什么我不能在速记CSS网格属性上使用@HostBinding?

Angular 为什么我不能在速记CSS网格属性上使用@HostBinding?,angular,css-grid,angular2-hostbinding,Angular,Css Grid,Angular2 Hostbinding,在速记CSS网格属性上使用@HostBinding时(例如,使用网格行而不是网格行开始和网格行结束),绑定不起作用: 导出类MyComponent{ @主机绑定('style.grid行') 行='1/2'; } 但是,使用单个属性确实有效: 导出类MyComponent{ @HostBinding('style.grid行开始') 行=1; @主机绑定('style.grid row end') 行=2; } 这是故意的还是有角度的错误?当然,一个解决办法就是不要使用速记属性 StkBL

在速记CSS网格属性上使用
@HostBinding
时(例如,使用
网格行
而不是
网格行开始
网格行结束
),绑定不起作用:

导出类MyComponent{
@主机绑定('style.grid行')
行='1/2';
}
但是,使用单个属性确实有效:

导出类MyComponent{
@HostBinding('style.grid行开始')
行=1;
@主机绑定('style.grid row end')
行=2;
}
这是故意的还是有角度的错误?当然,一个解决办法就是不要使用速记属性


StkBLITIZ:

< P>因为直接向DOM添加样式,角度将值视为untrutru.使用DomSanitizer将未受信任的值转换为受信任的值

DOM消毒剂

清理是对不可信值的检查,将其转换为 可以安全地插入DOM的值。在许多情况下, 消毒根本不会更改值。卫生处理取决于 上下文:CSS中无害的值在 网址


< p>因为直接向DOM添加样式,角度考虑值为untrutru.使用DomSanitizer将未受信任的值转换为受信任的值

DOM消毒剂

清理是对不可信值的检查,将其转换为 可以安全地插入DOM的值。在许多情况下, 消毒根本不会更改值。卫生处理取决于 上下文:CSS中无害的值在 网址

export class AppGridCellBrokenComponent {
  @Input()
  text: string;

  @HostBinding('style.grid-row')
  get gridRow() {
    return this.sanitizer.bypassSecurityTrustStyle(`${this.rowStart} / ${this.rowEnd}`);
  }

  @HostBinding('style.grid-column')
  get gridColumn() {
    return this.sanitizer.bypassSecurityTrustStyle(`${this.columnStart} / ${this.columnEnd}`)
  }

  constructor(private sanitizer:DomSanitizer){

  }
}