首页 > 解决方案 > 如何在Angular2中将输入设置器指定为可选?

问题描述

我想在我的指令上指定一个可选的设置器输入 -

// works fine
@Input()
public foo?: number;

// I want achieve similar optional status for this -
@Input()
public set baz(val: number): void {
    // some code
}

谢谢

标签: angulartypescriptangular8

解决方案


像这样的可选类字段public foo?: number;只是打字稿的东西,这意味着变量可以存在并且是 typenumber或根本不存在,所以它是 type undefined。它只是打字稿的类型快捷方式,因此您无需明确编写public foo: number | undefined

至于功能。打字稿也允许可选参数,所以它会是

public set baz(val?: number): void {
    // some code
}

这又是一条捷径

public set baz(val: number | undefined): void {
    // some code
}

我不知道我是否可以帮助你,因为你没有具体说明问题是什么,但我希望我能帮助你理解类字段和方法参数中的可选。


推荐阅读