2013-12-02 3 views
0

Так что есть установка маршрута следующим образом:HREF = «#» ломает Угловая маршрут

var app = angular.module("MSL", []) 
.config(function($routeProvider, $locationProvider){ 

    $routeProvider 
     .when("/dev.html", { 
      redirectTo: "/template1" 
     }) 
     .when("/template1", { 
      templateUrl: "/views/template1.html", 
      controller: "template1Ctlr" 
     }) 

}); 

Из-за внутренней причине я не могу использовать html5mode. Я также использую Foudation для этого проекта, так как это демо. У меня есть форма, которая использует стили оформления пользовательской формы Foudation. Это означает, что выпадающие списки (динамически) заменяются регулярными элементами div/a/ul для достижения стиля. Это все хорошо, за исключением того факта, что выпадающее меню теперь является тегом с href = "#". Так как я не использую режим html5 URL-адрес выглядит следующим образом:

/dev.html#/template1 

Когда я нажимаю на выпадающем списке (тег) Я перенаправлен

/dev.html 

из-за HREF. Есть ли способ обойти это? Я не хочу изменять файлы Foundation (что мне не нужно).

Как всегда заблаговременно за помощь.

+0

Не можете ли вы просто удалить '' # "' из 'href =" # "' вообще? – Stewie

+0

@ Stewie Я мог бы, но мне пришлось бы модифицировать файлы JavaScript Foundation, чтобы это сделать, чего я хотел избежать. – selanac82

ответ

0

Я в конечном итоге только с помощью JQuery для динамического изменения URL следующим образом:

$(".dropdown a").attr("href", location.hash + "#"); 

Это превратит HREF мои выпадающие ссылки на

/dev.html#/template1# 

, который прекрасно работает.

Смежные вопросы