Play2 scala 模板中的动态传递值
Dynamic pass value in a Play2 scala template
我尝试动态更改其变量的值。一旦点击(Change Ticket ID)按钮然后执行onClickSendEmail并且变量值应该是tickedId的变化。
它无法使用 newTickedId 进行更新。我尝试使用 @defining 创建变量,并通过函数单独调用。
所以,基本上我被卡住了。将如何解决。
@(sender: String)
<!--@{var tickedId = "tickedId"}-->
@defining(sender.contains("@")) {isEmail =>
@main((if(isEmail) "Email" else "Chat") + " Messages - " + sender) {
...
...
...
<div>
<a onclick="onClickSendEmail();return false;">
Change Ticket ID
</a>
</div>
@defining("getTicketId()") { tickedId =>
@views.html.common.form.panel("Reply",controllers.routes.ChatMessageController.sendEmail(tickedId,sender),"Send"){
<textarea id="emailArea" cols="100" rows="4" name="emailArea"></textarea>
}
<script type="text/javascript">
function onClickSendEmail() {
tickedId= "NewUpdatedTicketId";
}
function getTicketId() {
return "NewUpdatedTicketId";
}
</script>
}
}
}
您不应将 Twirl 模板与 Javascript 混合使用。这是一个糟糕的方法。
Twirl 的作用是渲染 HTML 块。您可以在此处定义条件和变量以动态更改 HTML 输出。使用 Javascript 时,您可以修改呈现的 HTML 输出而无需重新加载页面。
有些情况下你需要在 Javascript 中使用 Twirl 变量,那么你可以这样做:
@(chartData: Html)
<script>
let jsData = @twirlData; // where twirlData is an existing variable
console.log(jsData)
</script>
您可以在 阅读更多内容。
我尝试动态更改其变量的值。一旦点击(Change Ticket ID)按钮然后执行onClickSendEmail并且变量值应该是tickedId的变化。 它无法使用 newTickedId 进行更新。我尝试使用 @defining 创建变量,并通过函数单独调用。 所以,基本上我被卡住了。将如何解决。
@(sender: String)
<!--@{var tickedId = "tickedId"}-->
@defining(sender.contains("@")) {isEmail =>
@main((if(isEmail) "Email" else "Chat") + " Messages - " + sender) {
...
...
...
<div>
<a onclick="onClickSendEmail();return false;">
Change Ticket ID
</a>
</div>
@defining("getTicketId()") { tickedId =>
@views.html.common.form.panel("Reply",controllers.routes.ChatMessageController.sendEmail(tickedId,sender),"Send"){
<textarea id="emailArea" cols="100" rows="4" name="emailArea"></textarea>
}
<script type="text/javascript">
function onClickSendEmail() {
tickedId= "NewUpdatedTicketId";
}
function getTicketId() {
return "NewUpdatedTicketId";
}
</script>
}
}
}
您不应将 Twirl 模板与 Javascript 混合使用。这是一个糟糕的方法。
Twirl 的作用是渲染 HTML 块。您可以在此处定义条件和变量以动态更改 HTML 输出。使用 Javascript 时,您可以修改呈现的 HTML 输出而无需重新加载页面。
有些情况下你需要在 Javascript 中使用 Twirl 变量,那么你可以这样做:
@(chartData: Html)
<script>
let jsData = @twirlData; // where twirlData is an existing variable
console.log(jsData)
</script>
您可以在