2013-11-25 34 views
0

我很好奇,如果有人曾经尝试使用数据表实现一个视图内的一面?我通过didInsertElement加载数据和数据表。我目前在每个记录的td内追加了一个“编辑”和“删除”按钮,这样用户就可以点击并编辑记录,将它们带到新的页面或删除记录。这通过在模型中添加HTML并将事件发送到控制器来完成。随着我对Ember的理解不断增长,我发现这样做的更好方法是让拥有“编辑”和“删除”的列成为触发的单个视图。DataTables,Ember.js和​​

有没有人做过这个?在模板中实现它的问题是每次应用程序加载的时候都可能有未知数量的列,这取决于我从中抽取的API钩子。

回答

-2

这应该让你接近。假设您知道您想为列0和1使用视图,并让其他所有内容都正常呈现。基本上,在你的数据表def中,你需要添加后处理到行渲染来连接你的视图/模板。下面是一个例子利用了jQuery找出适当的列(我EmberJS是有点原始,但我相信你能得到的要点):

"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull){ 
    var myView0 = Ember.View.create({ <view def goes here> }) 
    var myView1 = Ember.View.create({ <view def goes here> }) 
    myView0.appendTo($("td:eq(0)", nRow)); 
    myView1.appendTo($("td:eq(1)", nRow)); 
    return nRow; 
} 

请注意,你需要小心的性能。如果您一次显示数百/数千行,并且您正在每个行上单独监听事件,则可能会导致性能损失,这取决于您是如何布置的。

+0

这不会解决关于嵌入视图的问题 – hubbardr

+0

公平点 - 我已经使它更具有灰烬特定性。 –

+0

我指的是Ember视图 – hubbardr