2013-06-18 85 views
2

Twitter bootstrap accordion not working with Sammy.js忽略參考Sammy.js

是一個類似的問題,但從來沒有回答。

我正在創建一個附加的Twitter Bootstrap側導航列表,並使用基於href的,但是當我點擊它們時,Sammy正試圖抓住路線。由於我是動態創建Id和href的,因此我可以阻止它們匹配現有的路由,但它會不斷地出現錯誤的控制檯。我相信在製作中他們不會出現,但是有什麼可以做的來預防呢?

 <ul class="nav nav-list affix"> 
      <!-- ko foreach: sections --> 
       <li class="nav-header"><span data-bind="text: navDesc"></span></li> 
        <!-- ko foreach: paragraphs --> 
        <li><a data-bind="attr: { href: '#' + navProp() }"><span data-bind="text: navDesc"></span> <i class="icon-chevron-right"></i></a></li> 
        <!-- /ko --> 
      <!-- /ko --> 
     </ul> 

我知道這將在Durandal的下一個版本中修復,但只是檢查任何其他選項。

回答

1

Durandal 1.2提供了一個guardRoute方法,它可以讓您在通話到達sammy之前攔截該通話。

查看How to handle/ignore a bad route with durandal?瞭解更多信息。

+0

Rainer我相信這是正確的道路,但我不知道在激活我的shell.js之前要保護的路由的名稱,因爲我的路由是基於實體屬性動態創建的,您能稍微更多描述這將如何工作?你是說設置一個像/#/#守護的前導(然後是導航ID?) –

+0

不知道我是否可以更具體,因爲它是你的應用程序;-)。看看提供的示例如何確保navProp()此時不會干擾任何手動路由?爲所有應該忽略的路線添加前綴似乎是一個可行的選擇。 – RainerAtSpirit

+0

Rainer在兩週後試圖讓這個工作,我不認爲這是解決方案。路由器正在抓住一切j作爲一條糟糕的路線 –