gpt4 book ai didi

Angular 2组件输入没有值(value)

转载 作者:太空狗 更新时间:2023-10-29 17:04:27 24 4
gpt4 key购买 nike

我想创建一个具有不需要值的属性的组件。例如,而不是像这样的东西:(我现在有)

<app-document [mode]="'edit'" ... ></app-document>

<app-document [editMode]="true" ... ></app-document>

我宁愿:

<app-document editMode ...></app-document>

因此组件本身必须查看属性 editMode 是否存在。当我有很多这样的属性时,这看起来会干净很多。我还没有看到有关如何执行此操作的任何文档。可行吗?

最佳答案

Material2写了下面的方法:

/** Coerces a data-bound value (typically a string) to a boolean. */
export function coerceBooleanProperty(value: any): boolean {
return value != null && `${value}` !== 'false';
}

在您的 app-document 组件中编写类似的内容:

private _editMode: boolean;
@Input()
get editMode() { return this._editMode; }
set editMode(value: any) { this._editMode = coerceBooleanProperty(value); }

然后:

editMode == true
<app-document editMode></app-document>

editMode == false
<app-document></app-document>

如果您使用 Material2,您只需按如下方式导入方法:

import {coerceBooleanProperty} from '@angular/cdk/coercion';

关于Angular 2组件输入没有值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43990032/

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