【问题标题】:Comet tables with Lift 2.4 and HTML5带有 Lift 2.4 和 HTML5 的 Comet 表
【发布时间】:2012-10-05 22:15:06
【问题描述】:

我正在尝试通过 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)
    )
  }
}

还有:

<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 解析器去除了 [lift:comet] 标记并且没有发生绑定。

所以我尝试将行切换为:

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

...如 sn-p 示例 here 中所示,但使用此语法,我的 CometClient 根本没有被实例化。

谁能建议正确的语法?

EventsComet 本身运行良好;它可以毫无问题地使事件列表保持最新。我只在使用表时遇到问题(可能还有其他我还没有尝试过的高度嵌套的结构?)。

谢谢。对于这样一个简单的问题,这一切都相当令人沮丧,这让我只想开始用强类型的模板语言而不是使用绑定来实现我的模板。

【问题讨论】:

    标签: scala html-table comet lift


    【解决方案1】:

    正确的语法似乎是:

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

    来自这个帖子: https://groups.google.com/forum/?fromgroups=#!topic/liftweb/NUDU1_7PwmM

    有时我会得到重复的行(插入到表格标题上方),但我想这与我的彗星演员本身有关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 1970-01-01
      • 2011-09-30
      • 2011-01-16
      • 2011-11-28
      • 1970-01-01
      相关资源
      最近更新 更多