1

在我的项目中,路由器设置如下:

   myApp.component("rsapproot", {
        transclude: true,
        template: "<ng-transclude></ng-transclude>",
        $routeConfig: [
            { path: "/login", component: "rsapplogin", name: "Login" },
            { path: "/tenant", component: "rsapptenantid", name: "Tenant" },
            { path: "/my-dashboard", component: "rsappmyrdash", name: "MyDash" },
            { path: "/my-reports", component: "rsappmyreports", name: "AppReports"},
            { path: "/equipment-details/:type/:id", component: "rsequipmentdetails", name: "EquipmentDetails" },
            { path: "/my/resources", component: "rsappresourceslist", name: "AppResourceList" },

现在,在 F5 之后或粘贴 URL 时的预期行为分别是重新加载当前路径或导航到所述路径,而不是加载初始应用程序路径。

我知道为了在重新加载应用程序后保留页面,应该给出一个表示路径的 url。

但是那个东西已经存在了,并且路径都是独一无二的。

那我错过了什么?

4

1 回答 1

2

这需要在服务器端处理。这是一个说明当前问题的示例:

您在其初始路径加载应用程序,/然后导航到/login. 当您刷新页面时,您的网络浏览器会发送一个 GET 请求http://yourdomain.com/login(我假设)不会通过将您的 Angular 应用程序(index.html)发送到客户端来响应该请求。

您需要配置您的服务器以使用您的 index.html 响应所有指定 Angular 路径的 GET 请求。这通常通过包罗万象的路线完成,/*而不是单独指定每条路线。

于 2017-03-29T09:10:38.187 回答