2013-06-18 4 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, поскольку мои маршруты динамически создаются на основе свойства объектов, можете ли вы быть немного более подробно описать, как это будет работать? Вы говорите, что установлен предшественник как/#/# protected (а затем идентификатор nav?) –

+0

Не уверен, могу ли я быть более конкретным, так как это ваше приложение ;-). Посмотрев приведенный пример, как вы убедитесь, что navProp() не мешает ручным маршрутам на данный момент? Добавление префикса для всех маршрутов, которые следует игнорировать, представляется жизнеспособными. – RainerAtSpirit

+0

Райнер после двух недель попыток заставить это работать, я не думаю, что это решение. Маршрутизатор ловит все, что я делаю как плохой маршрут. –