【问题标题】:How to specify an input setter as optional in Angular2?如何在Angular2中将输入设置器指定为可选?
【发布时间】:2021-11-08 04:42:09
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 你到底想在这里实现什么?
  • @JsNgian - 不是想解决问题,只是想让读者明白。 Panagiotis 的回答澄清了这一点。

标签: angular typescript angular8


【解决方案1】:

public foo?: number; 这样的可选类字段只是一个打字稿,这意味着变量可以存在并且是number 类型,或者根本不存在所以它是undefined 类型。它只是 typescript 的一种类型快捷方式,所以你不要写明确的public foo: number | undefined

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

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

这又是一个捷径

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

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

【讨论】:

  • @panagiotis-bougiokos 我不知道 ?只是语法糖!我本身并没有遇到问题,只是想知道传达我的 setter 输入对读者来说是可选的最佳方式是什么。谢谢!
猜你喜欢
  • 2017-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 1970-01-01
  • 2011-04-30
  • 2019-09-24
  • 2012-06-14
相关资源
最近更新 更多