如何在 Angular2 中将输入 setter 指定为可选?

How to specify an input setter as optional in Angular2?

我想在我的指令中指定一个可选的 setter 输入 -

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

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

谢谢

可选的 class 字段,如 public foo?: number; 只是打字稿的东西,这意味着变量可以存在并且类型为 number 或根本不存在,因此它将是类型undefined。它只是 typescript 的一种类型快捷方式,因此您无需显式编写 public foo: number | undefined

至于功能。 Typescript 也允许可选参数,所以它是

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

同样,这将是

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

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