我是Ember的新手,我正在学习包含组件代码的教程:
export default Ember.Component.extend({
tagName: 'li',
classNameBindings: ['editing'],
editing: false,
actions: {
editTodo() {
this.toggleProperty('editing');
}
}
});
Run Code Online (Sandbox Code Playgroud)
我不明白classNameBindings在做什么.从文档我已经了解到classNameBindings is a list of properties of the view to apply as class names,但我也有editing组件的属性.这个属性的存在如何影响这个创建过程class names?
感谢您的任何帮助 :-)
loc*_*cks 21
classNameBindings有两种使用模式.您可以打开/关闭类,也可以根据属性的值添加/省略类.
在关闭时切换班级:
export default Ember.Component.extend({
classNameBindings: ['editing']
});
Run Code Online (Sandbox Code Playgroud)
this.set('editing', true)将editingCSS类添加到元素中this.set('editing', false)editing从元素中删除CSS类根据属性的值添加/省略类:
export default Ember.Component.extend({
classNameBindings: ['editing:is-editing:not-editing']
}
Run Code Online (Sandbox Code Playgroud)
this.set('editing', true)将is-editingCSS类添加到元素中this.set('editing', false)将not-editingCSS类添加到元素中您可以省略true([editing::not-editing])或false([editing:is-editing])分支.有关更多详细信息,请参阅自定义组件的元素指南和classNameBindingsAPI文档.
| 归档时间: |
|
| 查看次数: |
3721 次 |
| 最近记录: |