Angular:将数据传递给组件的最佳方式(对象与多个参数)
发布时间:2020-12-17 17:33:03 所属栏目:安全 来源:网络整理
导读:我想知道以下哪个更好 my-component [data]="settings"/my-component 要么 my-component [bar]="settings.foo.bar" [baz]=settings.baz"/my-component 然后设置对象看起来像这样 this.settings = { foo: { bar: 10 } baz: 2}; 第一种形式是紧凑的,但不太明确
我想知道以下哪个更好
<my-component [data]="settings"></my-component> 要么 <my-component [bar]="settings.foo.bar" [baz]=settings.baz"></my-component> 然后设置对象看起来像这样 this.settings = { foo: { bar: 10 } baz: 2 }; 第一种形式是紧凑的,但不太明确我的组件需要什么.我可以想象,在某些情况下,将整个对象传递给组件会更好(例如,如果有太多属性).性能如何呢?如果你绕过整个物体,我可以想象变化检测更难,性能更差.任何有关此主题的帮助/提示将不胜感激! 解决方法
我认为指定单个值是一种更好的方法.正如您所写,它更明确地说明您需要什么,并且您可以指定其他来源(不仅仅是设置对象)的值.这样,变更检测很容易,您可以使用
@Component({ changeDetection: ChangeDetectionStrategy.OnPush }) 使用OnPush策略,如果没有任何输入值发生更改,Angular将跳过组件子树的更改检测. 有关详情,请参阅 > https://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |