2

一个新手 scala/lift 问题:

我检查了 CalendarMonthView 示例:

http://scala-tools.org/mvnsites/liftweb-1.0/lift-widgets/scaladocs/net/liftweb/widgets/calendars/CalendarMonthView.html

使用 Lift 1.1-M6 编译并运行。

当我尝试将示例迁移到 Lift 1.1-SNAPSHOT 时,AnonFunc 的签名似乎已从 JsRaw 类更改为 JsCmd(这是一个特征)。

编译器在这里失败:

def itemClick = Full(AnonFunc("elem, param", JsCmd("alert('itemClick' + param + ' - ' + elem.nodeName)")))

未找到:值 JsCmd

我错过了什么吗?

问候保罗

4

3 回答 3

1

我在子项目中找到了 CalendarMonthView 示例的新 Lift 1.1-SNAPSHOT 实现

/lift-modules/lift-widgets

其中还有其他令人印象深刻的小部件示例:-)

最好的方法是通过以下方式获取整个liftweb repo:

git clone git://github.com/dpp/liftweb.git

于 2009-12-14T21:00:35.813 回答
0

尝试使用 net.liftweb.http.js.JE.JsRaw 而不是 JsCmd:

def itemClick = Full(AnonFunc("elem, param", JsRaw("alert('itemClick' + param + '-' + elem.nodeName)")))

我不确定这是否会通过 AnonFunc 中的 elem 和 param,但我相信是的

于 2009-12-11T02:53:01.797 回答
0

这个问题有两种解决方案:

  1. 使用 JsCmds jsExp 到 JsCmd 转换器。
  2. 创建一个新的 JsCmd 对象。

为了说明这两个示例,假设您的原始命令是:

def dayClick = Full(AnonFunc("elem, param", JsRaw("alert('day was clicked')")))

转换器将是:

import net.liftweb.http.js.JsCmds.jsExpToJsCmd
def dayClick = Full(AnonFunc("elem, param", JsRaw("alert('day was clicked')"))) 

新的命令将是:

import net.liftweb.http.js.JsCmd
def dayClick = Full(AnonFunc("elem, param",
                             new JsCmd("alert('day was clicked')"))) 

当然,这些不是完整的导入列表,只是相关更改所需的那些导入。

于 2011-01-08T08:57:27.503 回答