0

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

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 的错误,还是我做错了什么?我相信正在发生的事情是右侧sidenav上所选元素的位置计算不正确。这个问题并没有出现在这个 plunker 中看到的左手侧导航......

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

4

1 回答 1

0

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

于 2016-12-09T11:31:44.690 回答