我尝试过在StackOverflow上建议的一些方法,但仍然无法在我的Javascript $范围内访问Play Scala变量。 HTML文件中的初始化行为:
@(playVariable: String)(implicit request: play.api.mvc.Request[Any])
我可以通过执行以下操作来访问 HTML标记之间的值作为屏幕文本:
<h2>Play value: @playVariable</h2>
但是,我不知道如何将此变量设置为$scope
值...另外,我不认为Play @
在HTML标记中有效,所以{{ 1}}在event.currentTarget.scalaVal
中结束undefined
:
$scope.angularFunction
我需要访问<button type="button" ng-click="angularFunction(parameter);" scalaVal=@playVariable>Click!</button>
中的@playVariable
才能进入后端HTTP调用...我该如何做到这一点?
答案 0 :(得分:0)
我们采用的方法是在窗口中设置一些全局变量,从Play生成HTML,然后从Angular代码访问全局变量。是的,全球性一般都很糟糕,但有时它更容易。我们的Angular代码是单页应用程序,我们不想修改Play方面的模板,它看起来就像你想要做的那样。
如果您不想这样做,而是想在播放前修改Play侧的Angular模板,您可以尝试在函数调用中传递play变量,例如:
ng-click=angularFunction(parameter, @playVariable)"