2013-11-25 37 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