AngularJS ngRoute直接部分访问
AngularJS ngRoute direct part access
我的应用程序在 ngRoute 上运行良好,但是当我尝试直接访问我的部分(从地址栏)时,它 returns 只是部分(没有主页)。如何隐藏这些部分以防止直接访问?
说明:
我有一个有 2 个街区的网站。第一个是菜单,第二个是内容(我的路线的一部分)。菜单有链接:“#/main”和“#/account”。当我按下按钮时,它工作正常(左侧菜单和内容)。但是,如果我将 URL 从 localhost:8080/#/account 更改为 localhost:8080/account,它只呈现内容,没有菜单。我想隐藏对 localhost:8080/account 的访问权限或使其使用菜单呈现内容。
您的问题很可能不是您的 AngularJS 路由,而是来自服务器的路由。当您请求像 localhost:8080/account
这样的页面时,您的服务器会显示 "ok, let's JUST deliver the /account
file"。但这并不完全正确,因为您实际上想要加载整个应用程序。这是一个常见问题,解决起来还算不错。
我不知道您的后端是什么样的,但这是一个 express/node:
的通用示例
var express = require('express'),
routes = require('./routes');
app.get('/', routes.index);
app.get('*', routes.index);
"Every request to the backend should initially render the complete layout in order to load our Angular app. Only then will the client-side rendering take over."
我的应用程序在 ngRoute 上运行良好,但是当我尝试直接访问我的部分(从地址栏)时,它 returns 只是部分(没有主页)。如何隐藏这些部分以防止直接访问?
说明: 我有一个有 2 个街区的网站。第一个是菜单,第二个是内容(我的路线的一部分)。菜单有链接:“#/main”和“#/account”。当我按下按钮时,它工作正常(左侧菜单和内容)。但是,如果我将 URL 从 localhost:8080/#/account 更改为 localhost:8080/account,它只呈现内容,没有菜单。我想隐藏对 localhost:8080/account 的访问权限或使其使用菜单呈现内容。
您的问题很可能不是您的 AngularJS 路由,而是来自服务器的路由。当您请求像 localhost:8080/account
这样的页面时,您的服务器会显示 "ok, let's JUST deliver the /account
file"。但这并不完全正确,因为您实际上想要加载整个应用程序。这是一个常见问题,解决起来还算不错。
我不知道您的后端是什么样的,但这是一个 express/node:
的通用示例var express = require('express'),
routes = require('./routes');
app.get('/', routes.index);
app.get('*', routes.index);
"Every request to the backend should initially render the complete layout in order to load our Angular app. Only then will the client-side rendering take over."