结合玩!框架 2.xx 与 Angular.js [英] Combining Play! Framework 2.xx with Angular.js
本文介绍了结合玩!框架 2.xx 与 Angular.js的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我遇到的问题是这两个看似强大的框架的结合.似乎大多数1可以做的事情2可以做.如何最好地利用两者?有什么思维模式吗?举一个 CRUD 应用程序的基本示例——我可以写一个路由 mysite/listnames 映射到一个控制器!这将使用代码呈现模板 --
@(names:List[String])@main("欢迎") {@for( 姓名 <- 姓名 ){<p>你好,@name </p>}
请注意,main 是典型的引导模板.然而,现在如果说我想添加一个输入框来过滤这些名称,或者我想对它们做任何事情,那么它产生的输出似乎对 Angular 没有用.典型的处理方式是什么?基本的东西似乎是-
1) 如何将通过 Play 渲染模板后到达的数据传递给 angular 以供稍后在客户端使用.
2) 对于涉及数学面向对象的后端 + 服务器和前端相当密集的 UI 的大型应用程序,是否建议将这两个框架一起使用?
解决方案
有很多方法可以组合这两个框架.一切都取决于您想要让每个人参与多少.例如,您的 Play 2
应用程序可能只从一侧(服务器端)提供 JSON 请求/响应,而 AngularJS 将从客户端制作所有其他内容.考虑您的基本 CRUD 应用示例:
Play 2 控制器:
def getNames = Action {val names = List("Bob","Mike","John")好的(Json.toJson(names)).as(JSON)}
您的 Play 根目录:
GET/getNames controller.Application.getNames
一个 AngularJs 控制器:
app.controller('NamesCtrl', function($scope) {//使用 AngularJS AJAX API 获取名称$http.get('/getNames').success(function(data){$scope.names = 数据;});});
我们的 HTML :
<头><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js">头部><身体><div><ul><li ng-repeat="name in names">{{name}}</li>