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