我想在我的下一个项目中使用AngularJS。该应用程序使用Python后端和html5,Angular前端。
我打算在后台使用MVC框架,我有点困惑。我必须在后端和前端使用路由吗?
因为我总是使用后端路由,而前端路由对我来说真的是一个新的想法。
客户端路由更好吗?当我选择使用前端路由时,后端上会没有路由吗?所有请求都将发送到一个url吗?
发布于 2013-03-22 16:34:02
您可以使用客户端路由,让后台返回静态文件和JSON数据。Angular中的路由基本上告诉你需要从服务器下载哪个部分模板,以及哪个控制器将处理它。
您的后端路由将如下所示
'/partials/:name' -> return corresponding partial
'/api/*' -> handlers to return json data
'/*' -> return index.html您的index.html将包含对其他视图的引用
...
<div ng-view></div>
...现在,假设您转到yourapp.com/omeview.html。服务器返回index.html,由于url是/someview,Angular将向服务器请求"someview“partial并相应地呈现页面。
简而言之,服务器的角色是返回index.html、partials和服务REST API请求。客户端总是接收index.html,并且基于url,请求核心响应部分和JSON数据。
发布于 2013-03-22 05:53:19
您可以选择进行客户端路由、服务器端路由或两者的组合...
在客户端路由的情况下,您将有一个由服务器提供服务的页面。之后的所有路由都将由客户端完成。如果您有一个包含大量页面的应用程序,这可能不是最佳解决方案,您可能希望进行服务器端路由。
在服务器端路由的情况下,您将为服务器应用程序上定义的每个路由提供一个页面。它们中的每一个都包含一个mini-angularJS应用程序(此外,如果有意义的话,这些mini-SPA中的每个都可以执行一些额外的路由)
这是由你决定什么是最适合你的情况。
更新:
如果您计划进行客户端路由,请务必查看AngularUI项目中的UI-router。它使您能够创建基于状态的视图和其他一些使用Angular的原生路由不可能实现的功能。
https://stackoverflow.com/questions/15558813
复制相似问题