【问题标题】:AngularJS ngRoute direct part accessAngularJS ngRoute 直接部分访问
【发布时间】:2015-08-12 21:31:32
【问题描述】:

我的应用程序在 ngRoute 上运行良好,但是当我尝试直接访问我的部分(从地址栏)时,它只返回部分(没有主页)。如何隐藏这些部分以防止直接访问?

说明: 我有一个有 2 个街区的网站。第一个是菜单,第二个是内容(我的路线的一部分)。菜单有链接:“#/main”和“#/account”。当我按下按钮时,它工作正常(左侧菜单和内容)。但是,如果我将 URL 从 localhost:8080/#/account 更改为 localhost:8080/account,它只会呈现内容,没有菜单。我想隐藏对 localhost:8080/account 的访问权限,或者让它通过菜单呈现内容。

【问题讨论】:

  • 试着改写一下,完全不明白你的意思。
  • 我已经编辑了答案。

标签: javascript angularjs routes ngroute angularjs-ng-route


【解决方案1】:

您的问题很可能不是您的 AngularJS 路由,而是来自服务器的路由。当您请求像localhost:8080/account 这样的页面时,您的服务器会说“好的,让我们发送/account 文件”。但这并不完全正确,因为您实际上希望加载整个应用程序。这是一个常见的问题,解决起来还不错。

我不知道你的后端是什么样的,但这里有一个 express/node 的通用示例:

var express = require('express'),
  routes = require('./routes');

app.get('/', routes.index);
app.get('*', routes.index);

“对后端的每个请求都应该首先渲染完整的布局,以便加载我们的 Angular 应用程序。只有这样,客户端渲染才会接管。”

源代码:http://fdietz.github.io/recipes-with-angular-js/backend-integration-with-node-express/implementing-client-side-routing.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-21
    • 2013-05-14
    • 2015-12-14
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多