intro.js无法正确使用角度材料右侧

时间:2016-09-27 15:23:36

标签: javascript intro.js angular-material2

我遇到了在角度材质应用程序的右侧sidenav上创建intro.js教程的问题。我能够在这个问题中复制这个问题。

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 / angular-intro的错误,还是我做错了什么?我相信正在发生的事情是右侧的所选元素的位置计算不正确。这个问题并没有表现为左手侧面,就像在这个掠夺者身上看到的那样......

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

1 个答案:

答案 0 :(得分:0)

仅当您将指令md-is-locked-open添加到侧面导航面板时,它才有效。如果未定义,则面板未锁定且无法正确计算位置。 当此表达式求值为true时,sidenav'锁定打开':它落入内容的流中而不是出现在它上面。这会覆盖md-is-open属性。