根据GET请求的结果自定义页面内容



我们正在构建一个AngularJS应用程序。我现在正在构建一个公共表单,它是根据加载的URL进行自定义的。

例如

http://url.com.au/Registration.cshtml#?org=org1

看起来与略有不同

http://url.com.au/Registration.cshtml#?org=org2

当页面加载时,我想用GET加载一些信息http://url.com.au/api/Org/org1并且使用该响应来驱动一些UI元素。

起初,差异很小(徽标的URL,一些复选框中的值),但随着时间的推移,表单可能会越来越动态。

我应该遵循什么模式来支持:

  1. 简单的差异
  2. 在旅途中走得更远,会有一个更具活力的ui吗

对于一个简单的解决方案,我会将url更改保存在该路由的路由参数中。然后使用$routeParams访问它。这样你就可以很容易地更改你的基本GET url。

对于简单和动态UI,我会尽量减少ngInclude的使用(加载的文件更少=加载时间更长,而且它会创建一个新的范围,但并不总是理想的)。

对于简单的差异,我会将你的html结构尽可能地适应这两种布局。考虑使用ng-show/hide来触发基于从GET请求中检索到的变量的DOM更改。对于像图像这样的资产,GET请求可以返回图像的路径,然后您可以使用ngSrc来包含它。

在旅途中,您可能需要考虑使用嵌套路由。UI路由器是一个非常流行的解决方案。

最新更新