javascript - 我如何在 Play! 的 javascript 中使用自定义模板标签?框架?

标签 javascript html playframework

如何在我的 javascript 代码中使用自定义标签?例如:

function toHTML(message){
    return #{customTag message:message /};
}

不工作..

谢谢!

//一些说明

我正在使用 AJAX 检索消息列表,并且我有一个名为“customTag”的 html 标记,其中包含将消息格式化为 <li> 的 html 代码。元素。

如果我打电话

#{customTag message:'hello' /} 

直接在 HTML 文件中,它可以工作并将其替换为 <li>hello</li> .但是当我尝试从 javascript 调用它时,我收到一条错误消息。

最佳答案

您遇到的问题是,您试图将服务器端逻辑(模板呈现)与客户端事件(javascript 执行)混合。因此,您的方法将行不通,因为自定义标记是在您到达客户端之前从服务器端执行的。

您可以使用 Play 标签使其工作,但我建议您考虑使用 Javascript 模板来执行此类客户端。查看 Play 下载中 samples-and-tests 文件夹中的 Chat 应用程序,了解它的运行情况。但是,如果您想使用 Play 模板/标签使其正常工作,请参见下文。

如果您更改您的自定义标记,使其不接受输入,而是“知道”javascript 变量,那么这应该可以工作。所以你的标签代码看起来像

"<li>" +message+ "</li>";

因此,这不使用标签将变量传递到标签中,而是使用客户端 javascript 变量。

我在测试应用程序 (views/Application/index.html) 中使用以下代码对此进行了测试,它按预期输出了 javascript。

<html><head></head>
<body>
<script type="text/javascript">
    function toHTML(message){
        return #{message /}
    }

    alert(toHTML("hello"));
</script>
</body>
</html>

关于javascript - 我如何在 Play! 的 javascript 中使用自定义模板标签?框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7052348/

相关文章:

javascript - 如何将 javascript 重定向加载到 android webview 中?

javascript - 迭代 for 循环并将结果附加到 react 组件

playframework - Play Framework 2.5子项目端口配置

javascript - 如何使用 JQuery 或 JavaScript 简单地检测浏览器类型?

javascript - JQuery 事件跟踪

html - 如何在不影响列表元素符号的情况下将 <li> 中的文本垂直居中?

html - 如何仅在将鼠标悬停在按钮上时才更改按钮的颜色?

image - Play Framework : Image Display question

playframework - 为什么play framework 2.0重启后会删除日志?

javascript - 表列内的数据对齐