Neo*_*Neo 10 decorator angular-decorator angular
我刚开始使用Angular 2,并想知道为什么有些属性喜欢selector和template放在组件装饰器而不是组件类中.
在Angular 2中使用所有这些装饰器有什么意义?
使工具可以轻松地在模板中提供各种支持,例如:
从装饰器生成代码,允许:
需要执行代码才能使用表达式可能发出的结果。装饰器可以很容易地静态评估,而无需执行 TypeScript 代码(除了一个简单且有限的子集)。
除了已经存在的特定于平台的答案之外,我还想从一个更通用的视角进行讨论.从我的观点来看,这个问题在某种程度上与选择装饰模式而非继承的决定有关(例如@Componentvs extends Component)
使用装饰器的一些好处是:
1.关注点分离:
装饰器内部的信息是声明性的,它们定义了类的行为,很可能不会随着时间的推移而改变并被框架使用.类属性和字段是特定于类的数据,将始终处理和频繁更新,并且只在类本身内有意义.这两种数据不应混合在一起.
2.支持多种修改
由于Diamond问题,许多语言都会阻止多重继承.另一方面,一个类可以有多个装饰器用于不同的目的(例如@Component,不推荐使用@RouteConfig)
| 归档时间: |
|
| 查看次数: |
3073 次 |
| 最近记录: |