Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 带有Lift 2.4和HTML5的Comet表_Scala_Html Table_Comet_Lift - Fatal编程技术网

Scala 带有Lift 2.4和HTML5的Comet表

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" -

我试图通过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" -> 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>