【发布时间】:2017-03-07 17:39:45
【问题描述】:
我是 Scala 和 Play 的新手,并且正在使用 main.scala.html 页面——据我了解,它被用作单页应用程序 (SPA) 框架。我希望这是一个正确的说法。
我正在尝试根据应用程序设置的会话变量将链接/文本从登录切换到注销。出于某种原因,main.scala.html 页面无法识别此变量,即使它已更改。
这里是 main.scala.html 代码摘录:
@(user: User = null, scripts: Html = Html(""), isLoggedIn: String = "")(content: Html)
<!DOCTYPE html>
<html>
<head>
...
<script type="text/javascript">
@isLoggedIn = isLoggedIn();
</script>
</head>
<body>
...
<div class="pull-right">
<nav class="navmenu center">
<ul>
<li class="scroll_btn"><a href="/">Home</a></li>
<li class="scroll_btn"><a href="/signup">Register</a></li>
@if(isLoggedIn == true) {
<li class="scroll_btn"><a href="/logout">Logout</a></li>
} else {
<li class="scroll_btn"><a href="/auth">Login</a></li>
}
</ul>
</nav>
</div>
...
</body>
</html>
这里是 isLoggedIn() 函数: 函数 isLoggedIn() {
var email = '<%= Session["email"] %>';
if (email != null || email != "") {
return true;
}
else {
return false;
}
}
我知道电子邮件会话变量已设置——它不为空,所以代码应该可以工作。
main.scala.html 是否存在某种“刷新”问题?还是 Scala 不能作为 SPA 框架发挥作用?
感谢您的帮助。
谢谢! 丹
【问题讨论】:
标签: javascript html scala playframework