Rhu*_*esh 8 getter-setter angular
我正在开发 angular2 应用程序,其中我的团队成员使用 getter 和 setter 来设置输入属性,如下所示
private _showModal;
@Input() set showModal(showModal){
this._showModal = showModal;
}
get showModal() {
return this._showModal;
}
Run Code Online (Sandbox Code Playgroud)
但我不确定这是一个很好的方法来做到这一点。我认为在开发人员必须在设置或获取值时进行一些验证或检查或执行其他一些功能的情况下,应该使用 getter setter
Sid*_*era 11
我们在哪里进行读取(get)和写入(get)主要决定了我们为性能支付的成本。
set特尔set每次我们写一些值时都会调用一个ter 函数。
现在我们通常会set在我们的 TypeScript 类中进行调用ter的编写部分。所以除非有set手术,否则他们不会经常被调用,这通常不是很频繁。
get特尔get每次我们读取某个值时都会调用一个ter 函数。
get通常在模板中以不同的数据绑定语法调用,如字符串插值({{}})、属性绑定([---]="")、属性绑定([attr.---]="")、样式绑定([style.---]="")等。
现在的问题是,每次 Angular 执行更改检测时,get都会调用 ter。只要你的getter 中没有太多逻辑就可以了。但这仍然为团队中的新开发人员留出了空间,可以在其中添加逻辑,而无需意识到它会产生的性能影响。
所以总而言之,据我所知,拥有setter 是可以的。但是拥有getter 和它的性能成本主要取决于这些getter 的使用位置。如果它们在模板绑定语法之一中使用,那么首先不要使用它们是安全的。如果模板中未使用它们,则可以使用它们。
我实际上写了一篇关于各种 StackOverflow 线程的文章和一些答案,您可能也想查看。所以我将它们添加为下面的列表:
希望这能给你一些视角。:)
仅当您在 get 或 set 中更改 _showModal 时,我才会执行此操作。
像您的团队成员一样使用它(带有支持属性)只会添加更多行代码。在这种情况下,我将创建一个公共 showModal 属性。
我不知道这是否有“最佳实践”。我认为这主要与个人喜好有关。
| 归档时间: |
|
| 查看次数: |
4400 次 |
| 最近记录: |