我最近通过几篇关于AngularJS的文章。由于AngularJS将控制器和模型与视图分开维护。一旦模型得到更新,它就会自动更新View,反之亦然,因为它是双向绑定。但是,我已经通过所有文章了解所有视图,模型和控制器都在客户端进行管理。
我们有没有办法将控制器和模型放在不同于客户端的机器上?
答案 0 :(得分:0)
是的,但不是自动的。 AngularJS是客户端 MV *框架。还有一些服务器端框架,甚至还有像Meteor这样的两个组合。但总是会有一些来回的消息传递,并且在一天结束时,您希望在服务器上做什么?服务器和客户端几乎总是非常不同,并且客户端可能正在绘制表单和表,服务器可能正在读/写数据库查询或管理多媒体资产。这意味着两种环境中1:1的功能重复很少有好处。
我建议你评估NodeJS的优秀ExpressJS框架。这是服务器端MV *应用程序的一个很好的构建块,特别是当与Swig这样的好的模板库结合使用时。您可以在此处(仅在几分钟内)轻松创建CRUD API,以管理在模型中创建/更新数据对象并将其存储在MySQL,Mongo或类似Redis之类的数据库中。然后,返回AngularJS,您可以使用$ resource,Restangular或类似的方法在两者之间进行映射。
这项技术除了Meteor之外还有其他一些步骤,但它为您提供了极大的灵活性,并且不需要生成很多代码。