我遇到了在角度材质应用程序的右侧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的错误,还是我做错了什么?我相信正在发生的事情是右侧的所选元素的位置计算不正确。这个问题并没有表现为左手侧面,就像在这个掠夺者身上看到的那样......
答案 0 :(得分:0)
仅当您将指令md-is-locked-open
添加到侧面导航面板时,它才有效。如果未定义,则面板未锁定且无法正确计算位置。
当此表达式求值为true时,sidenav'锁定打开':它落入内容的流中而不是出现在它上面。这会覆盖md-is-open
属性。