Javascript 灰烬牧羊人不';无法识别DOM更改 描述

Javascript 灰烬牧羊人不';无法识别DOM更改 描述,javascript,dom,ember.js,Javascript,Dom,Ember.js,我使用余烬与,并遇到了一个恼人的问题。每次在教程中更改DOM时,shepherd似乎都无法识别任何更改,因此在尝试锚定到最初加载时不存在的标记时会中断 有人知道如何让shepherd在不重新加载整个页面的情况下重新加载DOM吗 例子 controller.js 模板.hbs 更多的东西。 {{#如果showDiv} 废话 {{/if} 第一个巡更步骤将显示得非常好,但第二个步骤在将“隐藏的div”锚插入DOM后将找不到它。在当前版本的ember shepard addon中,所有步骤的巡更D

我使用余烬与,并遇到了一个恼人的问题。每次在教程中更改DOM时,shepherd似乎都无法识别任何更改,因此在尝试锚定到最初加载时不存在的标记时会中断

有人知道如何让shepherd在不重新加载整个页面的情况下重新加载DOM吗

例子 controller.js

模板.hbs


更多的东西。
{{#如果showDiv}
废话
{{/if}

第一个巡更步骤将显示得非常好,但第二个步骤在将“隐藏的div”锚插入DOM后将找不到它。

在当前版本的ember shepard addon中,所有步骤的巡更DOM元素都应该在巡更开始之前存在。
。trigger('start')

在当前版本的ember shepard addon中,步骤的所有tour dom元素都应该在tour开始之前存在
。trigger('start')

我找到了一个肮脏的黑客使这项工作。当设置了
tour.steps
时,DOM似乎已“加载”到shepherd中。因此,如果您将巡更分成多组步骤,然后在任何DOM更改后加载下一组步骤,那么它将正常工作。当然不是修复。我已经找到一个肮脏的黑客使这项工作。当设置了
tour.steps
时,DOM似乎已“加载”到shepherd中。因此,如果您将巡更分成多组步骤,然后在任何DOM更改后加载下一组步骤,那么它将正常工作。但肯定不是解决办法。
import Ember from 'ember';

export default Ember.Controller.extend({
  tour: Ember.inject.service(),

  showDiv: false,

  setupTutorial: function () {
    this.set('tour.steps', [
      {
        id: '1',
        options: {
          attachTo: '#some-div top',
          text: 'Read me!',
          when: {
            hide: () => {
              this.set('showDiv', true);
            }
          }
        }
      },
      {
        id: '2',
        options: {
          attachTo: '#hidden-div top',
          text: 'Shhh I am hidden.'
        }
      }
    ]);

    this.get('tour').trigger('start');
  }.on('init')
});
<div id="some-div">
  More stuff.
</div>

{{#if showDiv}}
  <div id="hidden-div">
    Blargh
  </div>
{{/if}}