我正在使用AngularJS和UI-Router製作一個小電子商務產品庫。它應該顯示錶示產品類別的圖像網格。當用戶選擇一個類別時,網格應顯示該類別的子類別,等等,直到用戶達到只有產品的級別。點擊產品應顯示其詳細信息。我在UI-Router中使用2個狀態,一個用於畫廊,另一個用於細節。AngularJS和UI-路由器多級麪包屑元素
app.config(function($stateProvider){
$stateProvider
// Gallery State
.state('gallery', {
url: '/products/:category',
templateUrl: 'views/gallery.html',
controller: 'galleryCtrl'
})
// Details State
.state('details', {
url: '/details/:id',
templateUrl: 'views/details.html',
controller: 'detailsCtrl'
});
});
在「庫」狀態時,控制器使用:類參數從數據庫中該類別的所有子類別或產品在網格中顯示得到。 'details'狀態的控制器使用模擬策略通過:id參數獲取產品信息。 現在我想製作一個顯示用戶通過圖庫的「路徑」的麪包屑元素。例如,如果用戶選擇「計算機」類別,然後在「筆記本電腦」類別,然後在「富筆記本」,麪包屑應顯示:
Computers > Notebooks > Foo Notebook
我發現的解決方案,從UI獲得國家層次-Router創建麪包屑。問題是,只有我創建的兩個州,麪包屑不會顯示所有類別,只是最後一個選定的類別。我不想爲每個類別創建一個狀態,因爲類別的數量和層次結構可能會發生變化。有什麼辦法可以做到這一點?
這是一個單頁面應用程序嗎?或者每個狀態更改之間是否有頁面重新加載? – Daniel 2014-09-19 14:33:34
單頁,實際上這些狀態是另一個的孩子。我編輯了代碼以避免問題變得太大。 – faeru 2014-09-19 14:42:04