【问题标题】:Access Play Scala variable in AngularJS $scope在 AngularJS $scope 中访问 Play Scala 变量
【发布时间】:2016-02-05 11:47:09
【问题描述】:

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

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

我可以通过执行以下操作将 between HTML 标记作为屏幕文本访问此值:

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

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

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

我需要在$scope.angularFunction 中访问@playVariable 以传递到后端HTTP 调用...我该如何完成这个?

【问题讨论】:

  • 您是否尝试用引号将变量括起来?所以它看起来像这样:scalaVal="@playVariable"

标签: javascript angularjs scala playframework-2.0


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多