Почему мой angular-ui-tour не находит шагов моего отдельного тура?

Я использую angular-ui-tour, чтобы позволить моему проекту иметь несколько туров в пределах одного DOM, потому что у него есть опция отдельного тура, которая мне нужна.

Мои зависимости (актуальные для этой проблемы):

  • угловой 1.5.7
  • начальная загрузка ^ 3.3.6
  • angular-bootstrap ^ 2.0.0
  • angular-ui-tour ^ 0.6.2

Я могу инициализировать тур с соответствующим конфигом, но когда я проверяю шаги, шаги не найдены.

Когда я пытаюсь начать тур, ошибка подтверждает это: "Нет шага." - ошибка. Что мне здесь не хватает?

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>

1 ответ

Решение

Мне удалось решить этот вопрос. По-видимому, это известная ошибка angular-ui-tour, которая будет исправлена ​​в следующем патче.

Для получения дополнительной информации по этому вопросу, я могу отослать вас к проблеме на GitHub.

На данный момент вы можете решить эту проблему, внеся следующие изменения в директиву tourStep angular-ui-tour:

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

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

Другие вопросы по тегам