2013-04-26 41 views
0

我有一個自定義的asize導航菜單,列表中的MenuItem在數組中,我將此列表綁定到一個帶有foreach的ul列表,並將MenuItem的屬性綁定到li,如; isActive,名稱,鏈接,圖標。Durandal自定義側導航菜單中更改風格

然後我設置的路線,他們被鏈接到

router.mapRoute('games', 'viewmodels/games', 'games'); 

我現在想的菜單項css樣式轉變爲主動式的,當我在該視圖中的觀點,但我不知道如何進入該事件的範圍,或者爲這樣的事件註冊回調。一旦我在活動中,我需要參考它的isActive的menuItem或ko.observable,我也不確定該怎麼做。

任何幫助表示讚賞,謝謝。

回答

0

我認爲,如果你想要的唯一的事情是當視圖處於活動狀態而不是活動時更改css。您可以像John Papa所做的熱毛巾示例那樣執行該操作。

<nav class="navbar navbar-fixed-top"> 
    <div class="navbar-inner"> 
     <a class="brand" href="/"> 
      <span class="title">Hot Towel SPA</span> 
     </a> 
     <div class="btn-group" data-bind="foreach: router.visibleRoutes"> 
      <a data-bind="css: { active: isActive }, attr: { href: hash }, text: name" 
       class="btn btn-info" href="#"></a> 
     </div> 
     <div class="loader pull-right" data-bind="css: { active: router.isNavigating }"> 
      <div class="progress progress-striped active page-progress-bar"> 
       <div class="bar" style="width: 100px;"></div> 
      </div> 
     </div> 
    </div> 
</nav> 

我有從這個例子:https://github.com/johnpapa/HotTowel