2015-09-12 25 views
0

所以我試圖在我的應用程序中使用角度路由。問題是路由「/」不會自動初始化。所以我首先去「/」和頁面的主要內容是空的(模板根本沒有加載),我點擊鏈接/設置和設置被加載,然後我點擊鏈接到「/」和這個模板正確初始化的時間。那麼我怎麼讓這個東西在開始時被初始化呢?如何在角度初始化默認路由?

這裏是我的路由配置:

app.config(function($routeProvider, $locationProvider) { 
      $routeProvider 
      .when('/', { 
      templateUrl: '/profile.html', 
      controller: 'ProfileController', 
      }).when('/profile', { 
      templateUrl: '/profile.html', 
      controller: 'ProfileController', 
      }).when('/settings', { 
      templateUrl: '/settings.html', 
      controller: 'SettingsController' 
      }); 

      $locationProvider.html5Mode({ 
      enabled: true, 
      requireBase: false 
      }); 
     }); 

我打過電話$ location.url(「/ profile」)是由一個控制器和它沒有幫助,但該網址已經被改變了,我寧願保持「/」

+0

嘗試刪除.when()中的尾部逗號作爲開始 – Chrillewoodz

+1

沒有幫助。此外,據我所知,在你的房產列表中有一個尾隨的逗號是完全可以的,在JS –

+0

中。在某些情況下,它可能會破壞事物。所以你不應該爲了它而留下尾隨的逗號。它只是一個指針,而不是一個答案:) – Chrillewoodz

回答

1

使用otherwise({ redirectTo: "/" })

更新:它應該怎麼在這裏是

$routeProvider 
      .when('/', { 
      templateUrl: '/profile.html', 
      controller: 'ProfileController', 
      }).when('/profile', { 
      templateUrl: '/profile.html', 
      controller: 'ProfileController', 
      }).when('/settings', { 
      templateUrl: '/settings.html', 
      controller: 'SettingsController' 
      }).otherwise({ redirectTo: '/' }); 
+0

看起來像我應該添加到我的代碼無論如何,但doesn真的沒有解決這個問題:( –

+0

我做了一個骯髒的破解...首先我配置了「否則」,然後我做了$ location.url(「/ whatever」)。現在頁面很好地初始化:P –

+0

只是從你的所有templateURL中刪除「/」 – maddygoround