javascript - AngularJS 和 Play Framework 模型绑定(bind)和模板

标签 javascript angularjs web architecture playframework

我想知道是否有人找到了一种在 Play Framework 和 AngularJS 之间绑定(bind)模型的好方法。例如,您点击一个 URL,该页面由 Play Framework 使用服务器端的模板为给定的 Person 对象生成。现在您想使用 AngularJS 来实现丰富的用户体验,并在客户端的 JavaScript/AngularJS 模板中使用该 Person 对象。

这样做的一种方法是从 AngulraJS 进行另一个 Ajax 调用并填充 JS 模型。对于为该 Person 对象生成页面的第一次调用,这似乎是多余的。

另一种方法是做这样的事情:

person = @Html(FrontEnd.personToJSON(thisPersonObject));

但是您需要在 $scope 中设置 person 对象。此外,这似乎是一个 hack,因为整个对象都是 JSON 格式,将被放置在 html 页面中。

我知道有更好的方法来构建这个网络应用程序,例如使用 SPA 设计,其中 Play 只是一个服务层,具有用于数据检索和操作的干净 API。这将使您能够严格地在客户端执行 MVC。

有什么想法吗?

最佳答案

Angular 被设计为一个单页应用程序,因此您应该避免尝试引导已经包含数据的页面。相反,您应该为您的框架提供一个 Restful API 并使用 angular's resources或一些替代方法(例如:restangular)从服务器接收和发送数据。

总结一下:您的应用程序/网站应该只使用 API 与您的框架通信。

关于javascript - AngularJS 和 Play Framework 模型绑定(bind)和模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19166423/

相关文章:

user-interface - 确定您的网站配色方案

javascript - 离线应用程序上的代码分割

Javascript (Jquery), increment/decrement++/-- operator 计算错误

Javascript 正则表达式在选择正斜杠时中断

angularjs - 将项目列表附加到 Angular JS 数组中?

javascript - 访问 Angular 生成的内容时,evaluateJavaScript() 无法获取稳定的内容?

javascript - 如何将项目插入到特定索引处的数组中(JavaScript)

javascript - 将函数与 JavaScript 组合起来变得更加 'Functional'

PHP Var 到外部 JS——没有全局、Ajax 或 Eval

html - 如何在 chrome <HTML> 中显示图标