何时使用@Input,何时不使用angular2

Luk*_*sac 2 javascript angular

我是angular2的新手.试图以@Input更好的方式理解其用法.我们可以使用父组件将值传递给子组件,@Input我们也可以创建一个服务变量并将其注入父组件,并可以在子组件中访问它们.哪种方式会更好?我通过路线决议获得这些价值.当没有绑定用户输入时,我对使用@Input持怀疑态度.

Max*_*kyi 5

通常有两种类型的组件 - Presentational和Container,或者有时也称为有状态和无状态.以下是本文中的专家解释差异:

演讲内容:

  • 关注事物的外观.
  • 仅通过道具接收数据和回调.
  • 很少有自己的状态(当他们这样做时,它是UI状态而不是数据).

容器组件:

  • 关心事情是如何运作的.
  • 向表示或其他容器组件提供数据和行为.
  • 通常是有状态的,因为它们往往充当数据源.

表示组件应通过输入绑定以声明方式接收尽可能多的数据.容器组件应尽可能使用DI.