【问题标题】:Customising page content depending on result of GET request根据 GET 请求的结果自定义页面内容
【发布时间】:2016-05-09 05:40:24
【问题描述】:

我们正在构建一个 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. 在旅途中更进一步的动态用户界面?

【问题讨论】:

标签: javascript angularjs material-design angular-material


【解决方案1】:

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

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

对于简单的差异,我将构建您的 html 以尽可能适应两种布局。考虑使用 ng-show/hide 根据从 GET 请求中检索到的变量来触发 DOM 更改。对于图片等资产,GET 请求可以返回图片的路径,然后您可以使用ngSrc 将其包含在内。

在此过程中,您可能需要考虑使用嵌套路由。 UI-Router 是一个非常流行的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 2021-05-17
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多