2015-11-04 46 views
1

我尝试了一些在StackOverflow上建议的方法,并且仍然无法在我的Javascript $范围内访问Play Scala变量。在HTML文件中的初始化行写着:

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

我可以 HTML标记之间的屏幕上做类似的文本访问此值

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

不过,我不知道如何将这个变量设置为$scope值......另外,我不认为播放@是HTML标签内有效,所以event.currentTarget.scalaValundefined在结束:

<button type="button" ng-click="angularFunction(parameter);" [email protected]>Click!</button> 

我需要在中访问@playVariable才能进入后端HTTP调用......我该如何完成此操作?

+0

您是否试图用引号包围变量?所以它看起来像这样:'scalaVal =“@ playVariable”' –

回答

0

我们采取的方法是在窗口上设置一些全局变量,从Play生成HTML时,然后从Angular代码访问全局变量。是的,全球通常不好,但有时候更容易。我们的Angular代码是一个单页面应用程序,我们不想修改Play端的模板,它看起来像你正在做的事情。

如果你不想做,而是要修改的播放侧的角模板为他们提供服务之前,你可以尝试通过你的函数调用里面你的游戏变量,像:

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