我想知道是否有人找到了一种在 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/