2013-06-04 7 views
0

Я начинаю работу с Durandal JS, и до сих пор он отлично работает.Как мне заставить Durandal Router прекратить возиться с href = "#"?

У меня проблема: все мои ссылки перехватываются маршрутизатором Дюрандаля (Sammy JS под капотом). Как я могу заставить его оставить мои ссылки в покое? <a href="#"></a>

Если у вас есть специальная альтернатива хештегу, разработанная Sammy JS, чтобы заставить браузер думать, что это ссылка, это тоже было бы потрясающе.

+0

Попробуйте это http://stackoverflow.com/a/16608815/1036187 – rivarolle

ответ

1

Durandal's router.js является необязательным компонентом, поэтому, если он вам не нужен, вы можете удалить тег скрипта, который загружает sammy.js, и удалять durandal/plugins/router в качестве зависимостей в ваших AMD. Если вам нужно частично защитить некоторые ссылки от обработки router, тогда guardRoutehttp://durandaljs.com/documentation/Router/, вероятно, лучший выбор.

Это предполагает, что вы используете Durandal 1.2, а не последний код из github (незавершенное производство), где router.js только что полностью переписано и не имеет никакой зависимости от sammy.js.

+0

Мне это нужно - подключение к guardRoute и handleInvalidRoute тоже не помогло. Однако добавление обработчика событий Click, похоже, подавляет 404 от Сэмми. – Jeff

+0

Итак, цель состоит в том, чтобы предоставить ручную ссылку на существующий маршрут, выполняемый маршрутизатором? Попробовали ли вы использовать трейлинг-косую черту, например? 'SO16918061 quick test'? – RainerAtSpirit

+0

Цель состоит в том, чтобы иметь доступную ссылку, которая ничего не делает :) – Jeff