Scala 带有Lift 2.4和HTML5的Comet表
我试图通过Comet动态更新HTML表。我得到了如下结果:Scala 带有Lift 2.4和HTML5的Comet表,scala,html-table,comet,lift,Scala,Html Table,Comet,Lift,我试图通过Comet动态更新HTML表。我得到了如下结果: class EventsComet extends CometClient[Event] { def server = Event def render = { println("Binding on: " + defaultHtml) data.flatMap( event => bind("event", "name" -> event.name.toString, "date" -
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)
)
}
}
以及:
名称
日期
测试名称
2012年10月25日
这会一次又一次地打印出整个表,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>
比赛
跟踪
日期
测试名称
2012年10月25日
正如预期的那样,HTML5解析器去掉了[lift:comet]标记,并且没有绑定发生
因此,我尝试将行切换为:
<tr lift:comet = "EventsComet">
<td><event:name />Test Name</td>
<td><event:date />Oct. 25, 2012</td>
</tr>
测试名称
2012年10月25日
…如代码段示例所示,但使用此语法,根本不会实例化我的CometClient
有人能就正确的语法提供建议吗
EventsComet本身运行良好;它可以毫无问题地保持事件列表的最新状态。我只在使用表时遇到问题(可能还有其他我还没有尝试过的高度嵌套的结构?)
多谢各位。对于这样一个简单的问题来说,这是相当令人沮丧的,这让我想用强类型模板语言来实现我的模板,而不是使用绑定。正确的语法似乎是:
<tr class="lift:comet?type=EventsComet">
<td><event:name />Test Name</td>
<td><event:date />Oct. 25, 2012</td>
</tr>
测试名称
2012年10月25日
从该线程:
有时我会得到重复的行(插入到表头上方),但我想这与我的comet actor本身有关
<tr class="lift:comet?type=EventsComet">
<td><event:name />Test Name</td>
<td><event:date />Oct. 25, 2012</td>
</tr>