2014-05-15 25 views
0

我認爲這可能是一個常見問題,但我沒有找到我的答案,所以這就是我問這個問題的原因。如果我正在重複,我很抱歉。用AngularJS創建導航的最佳選擇是什麼?

我有一個頁面,有一些類別。每個類別都有一些類別作爲其子類。而且,用戶可以點擊這些類別,$ scope.categories將隨着這些孩子而改變,直到我們再也沒有孩子。

但是,當用戶點擊某個類別以顯示其子項時,我想要更改URL,以便爲當時的可見類別創建永久鏈接。

我試圖使用$位置,但$位置不改變我的absURL,它只是在URL的末尾設置一個錨點,如'/ path#category_slug'。我想更改爲'/ path/category_slug'。原因是我想要在搜索引擎中對這些網址進行索引。因此,如果'/ path/category_slug'中的用戶條目,我將根據category_slug更改$ scope.categories。

我的問題是,這樣做的最佳選擇是什麼?

回答

1

如果您使用的是AngularJS,Google或其他搜索引擎不太可能不瞭解您的網站內容。問題不僅僅在於導航!請參見以下問題:

How do search engines deal with AngularJS applications?

如果您擔心搜索引擎,你將不得不創建一個更傳統的基於頁面的網站,對於少量的互動性採用了棱角分明。

+0

哇,很好的提示。我可以看到,問題更大......但是,至少我可以將我的網址編入索引,如果我執行了「/ path/category_slug」,對嗎?我是否必須使用window.location來設置和獲取,或者AngularJS給我另一種選擇? – rafaels88

0

如果您將AngularJS應用切換到HTML5模式,那麼您將不再在URL中包含這些#符號。

在你app.js文件,設置HTML5模式爲true:

$locationProvider.html5Mode(true); 

但要小心,這不是那麼簡單。然後您必須配置您的服務器以重寫所有請求。我們稱之爲「網址重寫」,根據您使用的服務器,有很多方法可以實現。

相關問題