【问题标题】:What is the point of the @angular-eslint/no-input-rename ESLint rule?@angular-eslint/no-input-rename ESLint 规则有什么意义?
【发布时间】:2021-03-02 12:08:23
【问题描述】:

重命名输入属性有什么问题?如果我有以下组件

@Component({
  selector: 'sc-heading',
  templateUrl: './sc-heading.component.html',
  styleUrls: ['./sc-heading.component.scss']
})
export class ScHeadingComponent {
  @Input()
  title: string;

  @Input()
  class: string;

  @Input('columns')
  set columnsSet(value: string | number) {
    if (typeof value === 'string') {
      this.columns = parseInt(value, 10);
    } else {
      this.columns = value;
    }
  }
  columns = 1;
}

对 columns 属性设置器进行覆盖以使其可以将字符串作为输入并对其进行解析有什么问题?我刚刚切换到 angular-eslint,它有一个规则 @angular-eslint/no-input-rename 导致这个错误。我在多个地方使用它,所以在我去禁用规则之前,我想知道这种做法是否有任何问题。

【问题讨论】:

    标签: angular


    【解决方案1】:

    Angular's Style Guide rules中所述:

    同一属性的两个名称(一个私有的,一个公共的)本质上是令人困惑的......当指令名称也是输入属性并且指令名称不描述该属性时,您应该使用别名。

    【讨论】:

      猜你喜欢
      • 2020-01-22
      • 2020-10-01
      • 2020-09-26
      • 2020-03-23
      • 2021-06-08
      • 2021-02-20
      • 2021-05-08
      • 2023-02-02
      • 1970-01-01
      相关资源
      最近更新 更多