Ember 2.0组件 - 属性命名约定

时间:2015-10-16 10:35:26

标签: ember.js ember-components ember-2.0.0

是否存在组件属性的约定或首选命名约定?

我见过dasherized:

{{my-component initial-selection='...' on-selected=(action '...') }}

和骆驼来了:

{{my-component initialSelection='...' onSelected=(action '...') }}

我原本认为,作为一个自以为是的框架,ember会强制执行这些命名约定中的至少一个。

1 个答案:

答案 0 :(得分:0)

Camel cased属性命名肯定更受欢迎。我认为它更好,因为传递给组件的属性最终会成为JavaScript属性。

使用dasherized属性的主要缺点是你不能在JavaScript中使用点符号(myObject.myProperty)引用在其名称中有破折号的对象属性,你需要使用括号表示法{{1} })。

因此,如果您想访问myObject['my-property']并依赖initial-selection,则必须使用:this.attrs,而您可以访问this.attrs['initial-selection']更简单:{{ 1}}。

因此,如果破折号在JavaScript变量名称中不合法,那么坚持使用驼峰命名约定似乎更合理。