1

在我的項目中的路由器設置這樣的:如何在瀏覽器在Angular 1.5中刷新時保留相同的頁面?

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。

但那東西已經在那裏,路徑分別都是唯一的。

那麼我錯過了什麼?

+0

您是否在啓用HTML5模式的情況下使用此功能? –

+0

否也可以與組件路由器一起使用。能否請你幫忙 ? – StrugglingCoder

回答

2

這需要在服務器端進行處理。下面是一個說明當前問題的示例:

您將應用程序加載到其初始路徑/,然後導航至/login。當你刷新頁面時,你的網頁瀏覽器會發送一個GET請求到http://yourdomain.com/login(我假設)通過發送你的Angular應用程序(index.html)給客戶端不會有任何反應。

您需要將您的服務器配置爲響應您的index.html指定的所有Angular路徑的GET請求。這通常是通過全線路徑/*完成的,而不是單獨指定每條路線。

+0

這是否意味着對於所有可能的路由,服務器將用適當的模板進行響應,以便爲特定路由加載?但是,這不是Angular Router的意義麼?我有點困惑。 – StrugglingCoder

+1

不完全。例如,'http:// yourdomain.com'用你的'index.html'迴應。爲了讓'http:// yourdomain.com/login'在刷新時工作,您的服務器還需要用'index.html'作爲響應。一旦客戶端收到該文件,角路由器就可以接管 –

相關問題