如何在Angular2中将输入设置器指定为可选?
Posted
技术标签:
【中文标题】如何在Angular2中将输入设置器指定为可选?【英文标题】:How to specify an input setter as optional in 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 的回答澄清了这一点。 【参考方案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 输入对读者来说是可选的最佳方式是什么。谢谢!以上是关于如何在Angular2中将输入设置器指定为可选?的主要内容,如果未能解决你的问题,请参考以下文章