Vue.js组件引用和转换不在一起

Vue.js组件引用和转换不在一起,vue.js,vuejs2,vue-component,vue-router,Vue.js,Vuejs2,Vue Component,Vue Router,模板: <transition name="slide-fade" mode="out-in"> <router-view ref="route" @resetSteps="handleResetSteps" @nextStep="handleNextStep"></router-view> </transition> 出于

模板:

<transition name="slide-fade" mode="out-in">
            <router-view ref="route" @resetSteps="handleResetSteps" @nextStep="handleNextStep"></router-view>
</transition>
出于某种原因,当我将转换应用于上述模板时,计算属性对引用组件的访问不起作用

我的意思是,我在当前的ref上得到了'undefined',尽管我确保等待直到路由器处理'push'(这就是我为什么使用'isMounted'属性的原因)

如果我删除了transition标记,一切都会按预期进行

你知道为什么吗

$REF仅在渲染组件后填充,并且它们不是被动的。它仅用于直接子操作的转义图案填充-应避免从模板或计算属性中访问$refs。

$REF仅在渲染组件后填充,并且它们不是被动的。它仅用于直接子操作的转义图案填充-应避免从模板或计算属性中访问$refs。

computed: {
            buttonOptions() {
                if (!this.isMounted || !this.$refs.route) {
                    return {};
                }
                return {
                    disabled: this.$refs.route.buttonOptions.disabled || this.$refs.route.buttonOptions.loading,
                    loading: this.$refs.route.buttonOptions.loading,
                    text: this.$refs.route.buttonOptions.text,
                    hidden: this.$refs.route.buttonOptions.hidden,
                };
            }
        },

methods:{
async handleActiveStep(activeStep) {
                this.isMounted = false;
                await this.$router.push({name: activeStep});
                this.isMounted = true;
            },
}