3

我正在将旧系统从 rails 移植到 lift 中。它有很多我想渲染成 html 页面的硬编码连接的 javascript。

根据这里的对话,我们可以这样使用 net.liftweb.http.js.JsCmds.Script 对象:

Script("""
var x = "Here's my JavaScript & it looks good";
""")

但是,我得到了这个编译器消息:

error: type mismatch;
[INFO]  found   : java.lang.String
[INFO]  required: net.liftweb.http.js.JsCmd

正确的使用方法是net.liftweb.http.js.JsCmds.Script什么?

4

2 回答 2

3

好吧,谈话显然是错误的。

apply方法net.liftweb.http.js.JsCmds.Script将 JsCmd 作为参数 - 这是编译器错误的来源。

现在对于这种特定情况,您可以将其修复为以下内容:

Script(JsCrVar("x", new Str("Here's my JavaScript & it looks good")))

(强度为net.liftweb.http.js.JE.Str

于 2012-06-28T19:29:55.950 回答
1

正如唐纳德所说, JsCmds.Script() 方法将 JsCmd 作为参数。因此,您可以使用 JsRaw 编写直接的 JS 语句。

前任。

Script(JsRaw("""var x = "Here's my JavaScript & it looks good";"""))

以下是关于此主题的讨论:https ://groups.google.com/forum/#!topic/liftweb/1roPxxHIFJk/discussion

于 2014-11-11T22:51:19.193 回答