2016-09-27 2 views
0

У меня возникла проблема с созданием учебника intro.js с правой стороны sidenav в приложении с угловым материалом. Я смог воспроизвести проблему в этом плунжере.intro.js не работает должным образом с угловым материалом справа sidenav

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

angular 
    .module('YourApp', ['ngMaterial', 'angular-intro']) 
    .config(function($mdThemingProvider){ 

     $mdThemingProvider.theme('default') 
     .primaryPalette('blue') 
     .dark(); 
    }) 
    .controller('ctrl', function ($scope, $mdSidenav) { 
    $scope.toggleRight = buildToggler('right'); 
    $scope.toggleLeft = buildToggler('left'); 

    $scope.IntroOptions = { 
     steps:[ 
     { 
      element: '.step1', 
      intro: 'Testing', 
      position: 'left' 
     }, 
     { 
      element: '.step2', 
      intro: 'Testing', 
      position: 'left' 
     }, 
     { 
      element: '.step3', 
      intro: 'Testing 2', 
      position: 'left' 
     }], 
     showStepNumbers: false, 
     exitOnOverlayClick: true, 
     exitOnEsc: true, 
     nextLabel: '<strong>NEXT!</strong>', 
     prevLabel: '<span style="color:green">Previous</span>', 
     skipLabel: 'Exit', 
     doneLabel: 'Thanks' 
    }; 
    $scope.ShouldAutoStart = false; 

    function buildToggler(navID) { 
     return function() { 
     $mdSidenav(navID).toggle() 
     } 
    } 
    }); 

Является ли это ошибка с intro.js/угловой-интро, или я делаю что-то не так ?? Я считаю, что происходит то, что место для выбранных элементов в правой руке sidenav вычисляется неправильно. Эта проблема не проявляется для левой руки sidenav как показано в этом plunker ...

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

ответ

0

Это работает только если добавить директиву md-is-locked-open к вашей стороне навигационной панели. Если это не определено, панель не заблокирована, и позиция не может быть рассчитана правильно. Когда это выражение оценивается как true, sidenav 'locks open': он попадает в поток контента, а не появляется над ним. Это переопределяет атрибут md-is-open.

+0

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