如何在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中将输入设置器指定为可选?的主要内容,如果未能解决你的问题,请参考以下文章

在Woocommerce中将州结帐字段设为可选

Angular - 如何为可选输入属性设置默认值

我可以在 Django 模型中将外键字段设为可选吗

如何将值设置为可选的 QueryParam 以在 java 中调用 rest api

如何在 Angular 2 中将 SASS 用于组件样式?

graphql node api:如何将字段定义为可选?