Не може да се маршрутизира от модален прозорец в AngularJS

Имам бутон в потребителския интерфейс. При щракване върху това отварям модален прозорец на зареждане. Има друг бутон в моя модален прозорец. Искам да навигирам до различен маршрут, като щракна върху този бутон в модалния прозорец.

$('#cartModal').modal('hide');
$location.path('/AngularJS/phonecat/#phones/address');

Но той затваря само модалния изскачащ прозорец, не насочва към дадения път.

По-ранен маршрут преди отваряне на модалния прозорец: /AngularJS/phonecat/#phones Очакван маршрут след затваряне на модалния прозорец: /AngularJS/phonecat/#phones/address

Не мога да намеря защо не работи. любезно помогнете

Опитах се да получа част от кода от основното приложение. Надявам се, че ще помогне. http://jsbin.com/vizequ/2/edit?html,js


person Devesh M    schedule 03.09.2015    source източник
comment
Добавянето на кодовия фрагмент ще увеличи промяната ви, за да получите ползотворни предложения и отговори   -  person road2victory    schedule 03.09.2015


Отговори (2)


Опитайте да прикачите кодовия фрагмент, за да промените маршрутите при скритото събитие на модела.

$('#myModal').on('hidden.bs.modal', function (e) {
    $location.path('/AngularJS/phonecat/#phones/address');
});

Ако това не помогне, можете ли да публикувате по-подробен код или jsFiddle?

person Asad Palekar    schedule 03.09.2015
comment
Прикачвате събитието, след като сте скрили своя модал. Събитията трябва да се прикачват по време на зареждане. - person Asad Palekar; 03.09.2015
comment
Знам. И аз опитах същото. Докато инициализирам контролера, слушам това събитие и задавам пътя на маршрута. Не слуша събитието, докато затваря модалния прозорец. При щракване върху този модален бутон, аз просто скривам модалния прозорец. Но все още не работи. - person Devesh M; 04.09.2015

Това беше моя грешка. Зададох грешен път към рутера. При щракване върху бутона на модалния прозорец съм написал кода по-долу.

$location.path('/phones/address');
$('#cartModal').modal('hide');
$('.modal-backdrop').remove();

Това реши проблема ми. Надяваме се, че ще помогне на другите.

person Devesh M    schedule 07.09.2015