【发布时间】:2016-04-26 21:56:07
【问题描述】:
以下哪项是更好的做法?
{{my-component title=model.title body=model.body}}
或
{{my-component model=model}}
这两者有什么区别,还是真的不重要?
【问题讨论】:
标签: ember.js
以下哪项是更好的做法?
{{my-component title=model.title body=model.body}}
或
{{my-component model=model}}
这两者有什么区别,还是真的不重要?
【问题讨论】:
标签: ember.js
很难不主观地判断这样的事情。但是让我们看看,我们可以从几个不同的角度做些什么。
首先您可以争辩说,您可以推断出该组件需要哪些属性才能运行,第二个则不然。话虽如此,我们甚至无法推断出更多有关组件所需属性的信息,例如它们需要的类型等。
第二个观点是,第二个组件的简单性使其更具吸引力/干净。尤其是当组件所需的属性开始失控时。
这很容易在以后看起来像这样。
{{my-component
title=model.title
body=model.body
extraprop1=model.prop
extraprop2=parent.prop
}}
现在,我想说的是,逐个组件地使用有意义的东西,不要想太多。
您可以考虑将诸如 TypeScript 之类的东西集成到您的项目中,并可能开始明确定义您在组件中需要什么类型的属性,而不必真正担心您通过模板向组件公开的 api。
这是一个twiddle,它演示了对这些属性的简单测试。
【讨论】:
model=model(我必须不断地从右到左对自己说——“让模型成为...模型”)更短/更简单——而且,你可以使用这个位置让事情更具可读性。 {{my-event-component event=model}} ~ 至于测试 - 更快吗?如果有的话,有数百个?