javascript - 在 AngularJS $scope 中访问 Play Scala 变量

标签 javascript angularjs scala playframework-2.0

我已经尝试了 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/

相关文章:

javascript - while 循环无法与 > 标记一起正常工作

javascript - 输入类型 'number' 的 ng-model 不工作

scala - 这与 akka Actor 类中的 self

javascript - 如果我们导航到其他页面,为什么在 React js 中显示用于 seo 的 index.html 标签?

javascript - 在 jquery 一定延迟后刷新页面

javascript - RequireJS 两次加载同一个模块以获得两个独立的命名空间

javascript - Angular 表,使用 ngClass 和 ng-repeat 添加类

javascript - AngularJS:嵌套循环、数据绑定(bind)和基本行为的正确设计

java - Securesocial - 在自定义 View 中获取用户数据

scala - 超出物理限制运行的 Spark 容器