2014-02-03 1 views
0

Предполагая, что я в настоящее время на странице:Как добавить URL-адрес в конец ссылки кнопки в angularjs?

www.mysite.com/root/#/?page=orderpage 

На странице, у меня есть ссылка:

<a href="#">Click Here for Mobile</a> 

Я хочу сделать это таким образом, что, когда пользователь нажимает на «Нажмите здесь для Mobile»ссылка, я могу взять пользователю:

www.mysite.com/root/mobile/#/?page=orderpage 

Обратите внимание, что URL похож на то, что было раньше (с сохранением независимо от параметров там были), за исключением того, есть„мобильный“в betwe ru корень и #.

Как сделать так, чтобы ссылка «Нажмите здесь для мобильных устройств» будет перенаправлена ​​на соответствующий URL-адрес, как описано выше? Это хорошая практика для этого? Примеры были оценены.

+0

Вы хотите перезагрузить страницу или только маршрутизацию на стороне клиента? –

+0

Я знаю только о перезагрузке страницы, чтобы попасть на сайт www.mysite.com/root/mobile/#/?page=orderpage. Если маршрутизация на стороне клиента является опцией, это тоже нормально (я думаю). – Setsuna

+1

Маршрутизация на стороне клиента не будет работать, потому что вы меняете URL-адрес перед хешем, чтобы выполнить полную перезагрузку страницы, используя

ответ

0

Как сказал Аджай, в этом случае маршрутизация на стороне клиента будет невозможна.

Так что вы остались либо делать (как Аджай сказал):

<a target="_self" href="/root/mobile/#/?page=orderpage"> 

Или вы могли бы определить функцию (в службе, в указанном контроллере, или где-нибудь еще, где у вас есть доступ к нему), который берет строку и изменяет $ window.location.href (это приведет к перезагрузке страницы).

Что-то вроде этого:

app.controller("SomeCtrl", function ($scope, $location, $window) { 
    $scope.changeUrl = function (url) { 
     var newUrl = $location.$$absUrl.replace("/#/", url); 
     $window.location.href = newUrl; 
    }; 
}); 

И тогда в вашем HTML вы должны использовать:

<a href="" ng-click="changeUrl('/mobile/#/')">Go mobile</a> 

Без Javascript включен (который я предполагаю, что вы не собираетесь быть поддерживать с угловой приложение), это никуда не приведет. В этом случае решение Ajay определенно является предпочтительным.

Преимущество превращения его в функцию состоит в том, что все, что вам нужно передать, это то, что вы меняете до «/ # /».

Удача :)

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