2012-10-05 97 views
0

我想通過Comet動態更新HTML表格。我有類似以下內容:彗星表與升降機2.4和HTML5

class EventsComet extends CometClient[Event] { 
    def server = Event 

    def render = { 
    println("Binding on: " + defaultHtml) 
    data.flatMap(event => 
     bind("event", "name" -> event.name.toString, "date" -> event.startDate.toString) 
    ) 
    } 
} 

和:

<lift:comet type = "EventsComet"> 
    <table> 
     <thead> 
      <tr> 
       <th>Name</th> 
       <th>Date</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td><event:name />Test Name</td> 
       <td><event:date />Oct. 25, 2012</td> 
      </tr> 
     </tbody> 
    </table> 
</lift:comet> 

這一遍又一遍打印出整個表,一個由EventsComet渲染的每一個事件。 println語句輸出整個表節點。

所以,我試圖變化:

<table> 
    <thead> 
     <tr> 
      <th>Race</th> 
      <th>Track</th> 
      <th>Date</th> 
     </tr> 
    </thead> 
    <tbody> 
     <lift:comet type = "EventsComet"> 
      <tr> 
       <td><event:name />Test Name</td> 
       <td><event:date />Oct. 25, 2012</td> 
      </tr> 
     </lift:comet> 
    </tbody> 
</table> 

如預期的,HTML5解析器剝離該[電梯:彗星]標籤和沒有結合發生。

於是,我行切換到:

<tr lift:comet = "EventsComet"> 
    <td><event:name />Test Name</td> 
    <td><event:date />Oct. 25, 2012</td> 
</tr> 

...作爲一個片斷例如here顯示,但此語法我CometClient未在所有實例化。

任何人都可以建議正確的語法?

EventsComet本身工作正常;它可以使事件清單保持最新,而不會出現問題。我只會遇到問題,使用表(可能是其他高嵌套結構,我還沒有嘗試過呢?)。

謝謝。這對於這樣一個簡單的問題來說非常令人沮喪,並且使我想要開始以強類型模板語言開始實現我的模板,而不是使用綁定。

回答