访问AngularJS$范围中的Play Scala变量

Access Play Scala variable in AngularJS $scope

本文关键字:Play Scala 变量 AngularJS 范围 访问      更新时间:2023-09-26

我已经尝试了StackOverflow上建议的许多方法,但仍然无法访问Javascript$范围中的Play Scala变量。HTML文件中的初始化行为:

@(playVariable: String)(implicit request: play.api.mvc.Request[Any])

我可以通过执行以下操作在HTML标记之间访问该值作为屏幕文本:

<h2>Play value: @playVariable</h2>

但是,我不知道如何将这个变量设置为$scope值。。。此外,我不相信Play @在HTML标记中是有效的,所以event.currentTarget.scalaVal最终在$scope.angularFunction:中成为undefined

<button type="button" ng-click="angularFunction(parameter);" scalaVal=@playVariable>Click!</button>

我需要访问$scope.angularFunction中的@playVariable以传递到后端HTTP调用。。。我怎样才能做到这一点?

我们采用的方法是在窗口上设置一些全局变量,当从Play生成HTML时,然后从Angular代码访问全局变量。是的,全球化通常很糟糕,但有时更容易。我们的Angular代码是一个单页应用程序,我们不想修改Play端的模板,这看起来就像你正在尝试做的。

如果你不想这样做,而是想在提供Angular模板之前在Play端修改它们,你可以尝试在函数调用中传递你的Play变量,比如:

ng-click=angularFunction(parameter, @playVariable)"