我已经尝试了 StackOverflow 上建议的多种方法,但仍然无法访问我的 Javascript $scope 中的 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 端的模板,这看起来就像您想要做的那样。
如果您不想这样做,而是想在提供服务之前修改 Play 端的 Angular 模板,您可以尝试在函数调用中传递 play 变量,例如:
ng-click=angularFunction(parameter, @playVariable)"
关于javascript - 在 AngularJS $scope 中访问 Play Scala 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33531063/