【问题标题】:Rendering Just one module/state of Angular app仅渲染 Angular 应用程序的一个模块/状态
【发布时间】:2017-11-12 20:29:18
【问题描述】:

我有很多 states and modules etc 的 Angular 应用程序。现在,我想向用户发送一个链接。当用户点击此url 时,我想将他重定向到仅呈现该特定状态(在 URL 中指定)的新选项卡,即我不希望用户看到其他任何内容。或者你可以说,我想打开一个popup window 在弹出窗口中呈现特定状态的 html。这是我想到的解决方法。

附言。后端有 Rest API,我通过 Angular resource 服务调用这些 API,以将数据与视图的 model 绑定

选项

我已经在后端休息了 API,所以,我正在考虑开发一个单独的 Nodejs 应用程序,我会将 nodejs 应用程序 url 发送给用户,并在 default/home route 中调用后端 API 并,返回的结果集将呈现在 nodeJs 应用程序内的html 文件中,这样,我会将相应的数据呈现到用户的浏览器窗口。

这是的流程

我不知道这是正确还是聪明的方法。请建议我解决问题的最佳方法。

提前致谢。

这就是我的应用的样子

左侧side-nav 中的所有内容都是module,单击此我将路由到另一个state。我在这个项目中使用angular-material 和许多其他依赖项。

这就是我想要的。

我将向用户提供一个链接,例如www.myapp.com/specificpage.html。点击这个url,将打开一个新的tab/popup,渲染状态定义在同一个应用程序中,但有一些non-editable url。它应该喜欢。

【问题讨论】:

  • 当您说I don't want anything else to be visible to the user. 时,您的页面中是否还有其他状态链接?您能否附上页面的屏幕截图,以便我有更好的想法?
  • 是的。让我附上它
  • @varit05。我已经编辑了这个问题。如果您还需要讨论任何事情,请告诉我
  • 1.您可以阻止未经身份验证的用户访问该应用程序吗?用户需要登录才能访问其他路由。 2. 当有人从另一个网站重定向时,不要将导航模块包含到应用程序中。不知道它是否对你有帮助。
  • 是的。用户始终需要身份验证才能访问应用程序。但是其他模块用于不同的目的。如果我从其他站点重定向时不包含任何其他模块,可以吗?这会是一种有效的方法吗?

标签: angularjs node.js


【解决方案1】:

有多种方法可以实现这一点,每种方法都有优点和缺点。您必须根据要求和架构进行选择。详情如下 -

  1. 创建一个单独的应用程序 - 您可以通过单独的代码库或使用基于模块的构建过程来完成,并且只为新应用程序包含此模块。
  2. 将应用分为两部分,公共页面和私有页面 - 在您的应用的公共模块中包含此页面和此页面所需的 API。
  3. 在链接中发送令牌 - 如果您想制作安全页面,请在电子邮件中发送短期令牌并在服务器上验证令牌,然后再向用户显示页面。

【讨论】:

  • 感谢您的回复@ManishSingh。为此,我决定创建一个单独的应用程序。
猜你喜欢
  • 2023-03-10
  • 2016-03-31
  • 1970-01-01
  • 1970-01-01
  • 2022-06-28
  • 2017-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多