我们如何在电梯中使用net.liftweb.http.js.JsCmds.Script对象?

时间:2012-06-28 19:13:11

标签: javascript templates scala rendering lift

我正在将遗留系统从铁路移植到电梯中。它有很多硬编码的连接javascript,我想渲染到html页面。

根据this conversation这里,我们可以这样使用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的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

嗯,谈话显然是错误的。

apply的{​​{1}}方法将JsCmd作为参数 - 这是编译器错误的来源。

现在针对特定情况,您可以将其修复为:

net.liftweb.http.js.JsCmds.Script

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

答案 1 :(得分:1)

正如Donald所说,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