Angular 2 setters vs ngOnChanges

时间:2016-11-13 19:29:50

标签: javascript angular

如果要在组件/指令输入更改后运行某些代码,可以使用setter或ngOnChanges hook,但使用另一个有什么好处?或者他们完全一样?

  @Input()
  set someInput( val ) {
    this.runSomething();
  }

  ngOnChanges(changes) {
     this.runSomething();
  }

1 个答案:

答案 0 :(得分:25)

ngOnChanges()的一个优点是,如果您的组件有多个@Input(),则可以立即获得所有更改。
如果您的代码仅依赖于单个@Input(),则设置器可能是更好的方法。