Маршрутизация Angularjs ведет себя странно при использовании директивы tabset из ui-bootstrap

Я пытался решить странное поведение. Всякий раз, когда я использую директиву tabset из ui-bootstrap в одном из моих шаблонов ui-router, я не могу выйти из этого конкретного состояния. Ошибка, которую я получаю:

Error: parent is null Scope.prototype.$destroy@http://localhost:3000/js/lib/angular/angular.js:7801 bind/<@http://localhost:3000/js/lib/angular/angular.js:681 jQuery.event.dispatch@http://localhost:3000/js/lib/jquery/jquery-1.9.1.js:3074 jQuery.event.add/elemData.handle@http://localhost:3000/js/lib/jquery/jquery-1.9.1.js:2750 jQuery.event.trigger@http://localhost:3000/js/lib/jquery/jquery-1.9.1.js:2986 .triggerHandler@http://localhost:3000/js/lib/jquery/jquery-1.9.1.js:3683 removePatch@http://localhost:3000/js/lib/angular/angular.js:1497 update@http://localhost:3000/js/lib/angular/angular.js:13876 Scope.prototype.$broadcast@http://localhost:3000/js/lib/angular/angular.js:8090 updateRoute/<@http://localhost:3000/js/lib/angular/angular.js:7250 qFactory/defer/deferred.promise.then/wrappedCallback@http://localhost:3000/js/lib/angular/angular.js:6650 qFactory/defer/deferred.promise.then/wrappedCallback@http://localhost:3000/js/lib/angular/angular.js:6650 qFactory/ref/<.then/<@http://localhost:3000/js/lib/angular/angular.js:6687 Scope.prototype.$eval@http://localhost:3000/js/lib/angular/angular.js:7840 Scope.prototype.$digest@http://localhost:3000/js/lib/angular/angular.js:7707 Scope.prototype.$apply@http://localhost:3000/js/lib/angular/angular.js:7926 @http://localhost:3000/js/lib/angular/angular.js:5425 jQuery.event.dispatch@http://localhost:3000/js/lib/jquery/jquery-1.9.1.js:3074 jQuery.event.add/elemData.handle@http://localhost:3000/js/lib/jquery/jquery-1.9.1.js:2750

В первый раз работает нормально маршрутизация ведет себя нормально, но как только загружается страница с набором вкладок, начинается упомянутое выше ненормальное поведение маршрутизации

Вот моя скрипка...........

вы можете найти две ссылки в демонстрации скрипки

1 -> Вкладка отсутствует [Простая страница без вкладки] 2 -> Вкладка присутствует [Страница с вкладкой ui-bootstrap]

если вы сначала выберете страницу отсутствия вкладки, она будет работать правильно, но как только вы посетите страницу присутствия вкладки, тогда всякий раз, когда вы нажимаете на страницу отсутствия вкладки, маршрутизация не происходит [т.е. вкладки не исчезают].

И если вы сначала посетите вкладку «Представленная страница», а затем выберите вкладку «Отсутствует», вы получите сообщение об ошибке в консоли.


person Vinod Louis    schedule 16.07.2013    source источник


Ответы (1)


Я больше не люблю jsFiddle, поэтому я взял ваш код, поместил его в плункер и обновил версии angular и angular-ui-bootstrap и вуаля... (это работает):

http://plnkr.co/edit/jUSg8GtzwkiixJJPR8MA?p=preview

person laurelnaiad    schedule 01.09.2013