Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mounted-Vue.js期间在嵌套子组件中获取div_Vue.js_Scroll - Fatal编程技术网

如何在mounted-Vue.js期间在嵌套子组件中获取div

如何在mounted-Vue.js期间在嵌套子组件中获取div,vue.js,scroll,Vue.js,Scroll,打开页面时滚动到元素时出现问题。这就像滚动到锚。我通过道具将div id发送到嵌套的子组件。在mounted上,我调用一个方法scrollToSection,其中我有滚动逻辑 props: { section: String }, mounted() { this.scrollToSection(); }, methods: { scrollToSection () { if (this.section != null) { const options = {

打开页面时滚动到元素时出现问题。这就像滚动到锚。我通过道具将div id发送到嵌套的子组件。在mounted上,我调用一个方法scrollToSection,其中我有滚动逻辑

props: {
  section: String
},
mounted() {
  this.scrollToSection();
},
methods: {
  scrollToSection () {
    if (this.section != null) {
      const options = {
        force: true,
        easing: 'ease-in',
      };
      VueScrollTo.scrollTo(`#${this.section}`, 100, options);
    }
  }
}
在这一点上,子组件不呈现DOM,document.getElementById(this.section)返回null。但在父组件中,我有权访问该div。
你知道如何解决这个问题吗?方法nextTick不起作用。

也有同样的问题,我需要访问嵌套组件中的映像,我必须等待映像加载到嵌套组件中,方法是添加一个
@load
事件侦听器,该侦听器向父级发出加载的事件,因此我知道它已经准备好并执行我的操作

如果
nextTick
不起作用,您也可以这样做,只需在子组件的挂载挂钩上发出一个就绪事件,并在就绪时执行滚动

//Child component
mounted(){
    this.$emit('ready');
}
_

//Parent component
...
<child-component @ready="scrollToSection()" />
...
MyDiv.scrollIntoView({ block: "start", behavior: 'smooth' });