为什么我的 angular-ui-tour 找不到我的 detached tour 的步骤?

Why is my angular-ui-tour not finding the steps of my detached tour?

我正在使用 angular-ui-tour 使我的项目能够在同一个 DOM 中进行多个游览,因为它有一个独立的游览选项,我需要这样做。

我的依赖项(与此问题相关):

我可以使用相应的配置初始化游览,但是当我检查步骤时,没有找到任何步骤。

当我尝试开始导览时,错误证实了这一点:'No step.'-错误。 我在这里错过了什么?

angular.module('myApp',['bm.uiTour']).run(['uiTourService',
  function(uiTourService) {
    //setup the tour
    uiTourService.createDetachedTour('general', {
      name: 'general',
      backdrop: true,
      debug: true
    });

    //testing
    var uitour = uiTourService.getTourByName('general');
    console.log(uitour); // Object {_name: undefined, initialized: true}

    //test tour steps
    console.log(uitour._getSteps()); // []

    //test tour start
    uitour.start().then(function(data) {
      //tour start succeeded
    }, function(error) {
      //tour start failed
      console.log(error); // No steps.
    });

  }
]);
<body ui-tour>
  <div tour-step tour-step-belongs-to="general" 
       tour-step-order="1" 
       tour-step-title="step 1" 
       tour-step-content="this is step 1">
  </div>
  <div tour-step tour-step-belongs-to="general" 
       tour-step-order="2" 
       tour-step-title="step 2" 
       tour-step-content="this is step 2">
  </div>
</body>

我已经设法解决了这个问题。显然这是 angular-ui-tour 的一个已知错误,将在下一个补丁中修复。

关于这个问题的更多信息,可以参考issue on the GitHub.

目前,您可以通过在 angular-ui-tour tourStep 指令中进行以下更改来解决此问题:

//Add step to tour (old)
scope.tourStep = step;
scope.tour = scope.tour || ctrl;

//Add step to tour (new)
scope.tourStep = step;
scope.tour = ctrl;