让我们说,例如,我们有一个页面,其中包含一个包含用户列表的表。我可以使用用户表来呈现HTML,但是对于Angular来说这不是很友好。我也可以将AJAX返回到服务器以获取数据,但是我必须等待初始页面呈现并发出额外的HTTP请求,这会增加额外的延迟。
有没有办法将我的有效载荷数据与我的初始请求一起发送,所以我没有AJAX的数据,我仍然可以使用角度绑定(例如ng-repeat)?
答案 0 :(得分:0)
在不执行Javascript的情况下访问服务器数据的唯一方法是让服务器在网页的初始请求中包含该数据。这需要使用服务器端语言,如PHP,Ruby或ASP.NET,它们可以查询数据,将其添加到您的网页,并将更新后的网页发送到其初始的http响应中。
但是,这个概念完全破坏了使用AngularJS等客户端框架的目的。 Angular希望负责您的数据访问,我建议让它成为现实。 Angular不知道它没有检索的数据,因此您还必须动态修改页面脚本以告知Angular服务器检索的数据。这一切都走在一条你不想走下去的黑暗道路上。你只会做双重工作。
如果您担心用户会在页面加载和初始数据加载之间看到短暂的延迟,您甚至可以选择将屏幕留空,直到初始数据加载使用诸如ng-cloak和ng之类的指令-bind。如果您担心在初始页面加载后检索数据的延迟,请记住,整页HTTP请求和整页重新加载所需的时间比仅更新页面的单个部分的ajax调用要长得多。
如果您不想使用Ajax调用,则不希望使用AngularJS。