角度 6 元素布尔输入参数

cob*_*nks 7 angular angular6 angular-elements

我正在构建一个角度元素并将一些输入参数传递给它。我可以很好地传递一些字符串输入参数(ikrId 和环境工作得很好),但是很难通过角度元素将布尔值传递给 showTitle 输入属性(将 showTitle 属性从父角度组件传递给组件工作正常)。

这是组件片段:

export class MyComponent implements OnInit, OnDestroy {

  @Input() ikrId: string;
  @Input('environment') environment: IkrEnvironment = 'PROD';
  @Input('showTitle') showTitle = true;
Run Code Online (Sandbox Code Playgroud)

这是我在普通旧 html 中使用它的方式:

<my-element environment="DEV" ikr-id="889fb69f-71a5-4881-8528-0b43a07599f0" show-title="false"></my-element>
Run Code Online (Sandbox Code Playgroud)

但是节目标题没有传递到我的组件中,它总是正确的。

我在这里缺少什么?

谢谢!

Con*_*Fan 8

您可以将该showTitle属性定义为 getter/setter,并将字符串值转换为 setter 中的布尔值:

private _showTitle = true;

@Input('showTitle') 
get showTitle(): boolean {
  return this._showTitle;
}
set showTitle(value: boolean) {
  this._showTitle = "" + value !== "false";
}
Run Code Online (Sandbox Code Playgroud)