Javascript 在呈现子组件后启动方法
我在父组件中使用Javascript 在呈现子组件后启动方法,javascript,vue.js,lifecycle,Javascript,Vue.js,Lifecycle,我在父组件中使用v-if来有条件地渲染子组件。 即使子级不应该呈现,装载的函数仍然会被执行,并在控制台中导致错误 当呈现子组件时,如何确保在启动方法时呈现子组件 就我而言,我使用的是自动对焦: mounted: function () { // Autofocus input on load. this.$nextTick(() => this.$refs.input.focus()); }, 下一个复选框中出现错误:“TypeError:\u此.
v-if
来有条件地渲染子组件。
即使子级不应该呈现,装载的函数仍然会被执行,并在控制台中导致错误
当呈现子组件时,如何确保在启动方法时呈现子组件
就我而言,我使用的是自动对焦:
mounted: function () {
// Autofocus input on load.
this.$nextTick(() => this.$refs.input.focus());
},
下一个复选框中出现错误:“TypeError:\u此.$refs.input未定义”
console.log(此.$refs.input)提供对象:
<input class="form-control" data-v-661f7e55="" type="text" autocomplete="off">
试试这个
<input class="form-control" ref="input" type="text" autocomplete="off">
mounted(){
this.$nextTick(() => this.$refs.input.focus())
}
安装的(){
this.$nextTick(()=>this.$refs.input.focus())
}
这对我来说很好。ref用于注册对元素或子组件的引用。问题是,当子组件处于v-if=“false”状态时,mounted仍然会执行事件。这一行代码应该在子组件在屏幕上呈现后执行。所以这是在子组件中还是在父组件中?它在子组件中。