2014-08-30 81 views
0

我不太瞭解整個html5mode/hashbangmode業務。

$routeProvider.when('/a/b/:c', {}) 

這隻適用於如果我設置爲html5mode。爲什麼?所有瀏覽器都支持html5mode嗎?

$locationProvider.html5Mode(true) 

「作品」我的意思是我可以訪問路線參數將得到記錄。

$scope.$on('$routeChangeSuccess', function(scope, route) { 
    console.log(route.pathParams.c) 
}); 

回答

0

根據我的經驗,$routeProvider是非常片狀,它會導致你很多浪費時間和頭痛。我試着以幾種不同的方式添加$locationProvider,這是基於我讀過的東西,每次發生奇怪的事情,總會有至少一件壞事發生,迫使我再次擺脫它。例如,有時底層的.json調用會中斷,因爲它們引用的路徑具有重複的組件,有時它會打破/assets中圖像的所有路徑,其他時候所有路由都將停止工作,除了「其他」默認設置路線(儘管代碼是正確的)。所有關於SO甚至在文檔中的角度建議的問題在於,他們不會將建議放在特定角度版本的上下文中。版本過多,語法變體太多,文件名稱不同,文件名稱不同,安裝方式太多(grunt?npm?手動?gem?一些我從未聽說過但突然間似乎每個人都似乎正在使用?),破壞鏈接到谷歌託管js庫所有教程告訴你使用,這些都加起來頭痛,浪費時間。你會認爲谷歌會有資源來正確解釋如何使用這個東西。祝你好運....如果有人想形成一個自殺協議,也許我們可以見面並在我們的頭上一顆子彈一起