Kri*_*eck 4 javascript angular2-changedetection angular
我想知道是否有人可以对此进行详细说明。是否@Input()与二传手VS使用@Input()不同的问候没有制定者的行为来改变检测?
例如:
@Input() something: SomeType;
Run Code Online (Sandbox Code Playgroud)
-vs-
private _something;
@Input() set something(something: SomeType ) {
this._something = something;
}
get something(): SomeType {
return this._something;
}
Run Code Online (Sandbox Code Playgroud)
明显的区别是设置器/获取器允许@Input()使用一些额外的逻辑。但这是否会以与@Input()不使用setter的情况不同的方式影响变更检测?
对于角度变化不大。将不会设置输入或不会更频繁地调用设置器。但是,需要注意的是,设置器内部还有更多逻辑可以触发其他更改检测。如果有的话,angular会抛出已知错误(仅在开发模式下)
检查后表达式已更改。
因此,变化检测器的行为不会有所不同,但是可能会出现问题,具体取决于您在设置器中添加了哪些额外的逻辑
| 归档时间: |
|
| 查看次数: |
1298 次 |
| 最近记录: |