通过属性为组件添加CSS类 编辑页面
问题
希望基于组件属性添加和删除Ember组件CSS类名。
解决方案
添加属性名称到组件子类的classNameBindings
属性。
讨论
可以基于组件属性应用CSS类,或通过绑定到传入组件的数据来实现。这是通过绑定元素的class
属性到classNameBindings
来实现的。
1 2 |
classNameBindings: ['active'], active: true |
同样也可以使用一个计算属性来设置CSS类名。
1 2 3 4 |
classNameBindings: ['isActive'], isActive: function() { return 'active'; }.property('someAttribute') |
其他能够将类名绑定到一个绑定属性的方法。
1 2 |
classNameBindings: ['isRelated:relative'], isRelatedBinding: "content.isRelated" // value resolves to boolean |
示例
查看自定义组件元素获取更多示例。