如何为无标记成员组件分配类名
how to assign class names for tagless ember components
用户表.js
export default Ember.Component.extend({
tagName: ''
});
用户表.hbs
<table>
{{yield}}
</table>
使用
{{#users-table class="table table-bordered"}}
{{#table-head}}
{{#table-row}}
{{table-head-cell}}
{{table-head-cell}}
{{/table-row}}
{{/table-head}}
{{#table-body}}
{{#each users as |user|}}
{{#table-row}}
{{table-body-cell cellValue=user.name}}
{{table-body-cell cellValue=user.age}}
{{/table-row}}
{{/each}}
{{/table-body}}
{{#table-foot}}
{{#table-row}}
{{table-head-cell}}
{{table-head-cell}}
{{/table-row}}
{{/table-foot}}
{{/users-table}}
由于我提到组件的tagName为空(tagName:"(,因此如何传递该根元素的类名。有其他吗
顾名思义,无标记组件没有标记,所以不能在它们上粘贴类。它们也没有事件处理,因为没有元素可以在上面注册处理程序
评论中的建议很好,使用tagName="table"
,并且组件模板中只有{{yield}}
:
// user-table.js
export default Ember.Component.extend({
tagName: 'table'
});
// user-table.hbs
{{yield}}
这似乎比其他选择更好地利用了Ember的功能。
您可以将classNames传递给这样的无标记组件(Ember Twiddle(:
// user-table.js
export default Ember.Component.extend({
tagName: ''
});
// user-table.hbs
<table class="{{class}}">
{{yield}}
</table>
// usage
{{#users-table class="table table-bordered"}}...{{/users-table}}
无标记组件的好处是,从模板中可以清楚地看到组件的顶级元素是什么,您不必查找javascript文件。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 在循环中分配json值时,值被覆盖
- React重新渲染但未显示正确的组件
- 动态分配GA增强型电子商务跟踪器
- 不能从angular2中的子组件指定父组件中的数组
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- React组件等待所需道具进行渲染
- 如何创建带有插槽的vue js组件预加载程序
- KnockoutJS-组件-多个实例
- 如何在jQuery中将函数的输出分配给变量
- 如何更改reactjs中外部/独立组件的状态或属性
- 为集合分配大量的模型弹药
- 如何在 emberjs 组件中重新分配模板
- 检查Emberjs中为组件分配了哪些属性
- 在React组件中分配带有ES6的属性
- Ember.js在component' js文件中给组件分配动作
- 当值被分配给组件状态时,为什么console.log打印之前的状态
- 如何为无标记成员组件分配类名
- 是否有更好的方法来为React组件分配多个css classname ?