【问题标题】:Passing parameters to ember components naming convention [closed]将参数传递给 ember 组件命名约定 [关闭]
【发布时间】:2016-04-26 21:56:07
【问题描述】:

以下哪项是更好的做法?

{{my-component title=model.title body=model.body}}

{{my-component model=model}}

这两者有什么区别,还是真的不重要?

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    很难不主观地判断这样的事情。但是让我们看看,我们可以从几个不同的角度做些什么。

    首先您可以争辩说,您可以推断出该组件需要哪些属性才能运行,第二个则不然。话虽如此,我们甚至无法推断出更多有关组件所需属性的信息,例如它们需要的类型等。

    第二个观点是,第二个组件的简单性使其更具吸引力/干净。尤其是当组件所需的属性开始失控时。

    这很容易在以后看起来像这样。

    {{my-component 
       title=model.title 
       body=model.body 
       extraprop1=model.prop 
       extraprop2=parent.prop
    }}
    

    现在,我想说的是,逐个组件地使用有意义的东西,不要想太多。

    您可以考虑将诸如 TypeScript 之类的东西集成到您的项目中,并可能开始明确定义您在组件中需要什么类型的属性,而不必真正担心您通过模板向组件公开的 api。

    这是一个twiddle,它演示了对这些属性的简单测试。

    【讨论】:

    • 是否担心将整个模型暴露给组件?
    • 我不会担心,如果我有一个很好的测试支持它!这应该让您很快知道缺少某些属性!
    • 乐于提供帮助,添加了简单的测试以作为演示发布。
    • 如果你有嵌套的组件,我可以想象一个有几层深度的场景,明确的在视觉/可读性上是有益的——但在你处于那种场景之前,保持简单可能是一个安全的立场. model=model(我必须不断地从右到左对自己说——“让模型成为...模型”)更短/更简单——而且,你可以使用这个位置让事情更具可读性。 {{my-event-component event=model}} ~ 至于测试 - 更快吗?如果有的话,有数百个?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多