【问题标题】:Ember 2.0 components - attribute naming conventionEmber 2.0 组件 - 属性命名约定
【发布时间】:2015-10-16 10:35:25
【问题描述】:
是否有组件属性的约定或首选命名约定?
我已经看到了 dasherized:
{{my-component initial-selection='...' on-selected=(action '...') }}
和骆驼套:
{{my-component initialSelection='...' onSelected=(action '...') }}
我原以为 ember 作为一个固执己见的框架,会强制执行这些命名约定中的至少一个。
【问题讨论】:
标签:
ember.js
ember-components
ember.js-2
【解决方案1】:
驼峰式属性命名当然更受欢迎。我认为这更好,因为传递给组件的属性最终会成为 JavaScript 属性。
使用破折号属性的主要缺点是您不能在 JavaScript 中使用点符号 (myObject.myProperty) 引用名称中包含破折号的对象属性,您需要使用括号符号 (myObject['my-property'])。
因此,如果您想访问initial-selection 并依赖this.attrs,则必须使用:this.attrs['initial-selection'],而您可以更简单地访问initialSelection:this.attrs.initialSelection。
因此,如果 dash 在 JavaScript 变量名中不合法,那么坚持使用驼峰式命名约定似乎更合理。