只有当一些组件不存在(它们没有在HTML中声明)时,我才需要在根实例的ready:中做一些事情.

如何判断组件是否存在?

推荐答案

我真的希望有比这更好的答案,但目前这解决了问题.

在ready中,我通过this(也可以是Vue)访问children元素,并判断它们的名称是否符合我的预期:

    ready: function() {

        for (var i = 0; i < this.$children.length; i++) {
            if (
                   this.$children[i].$options.name == 'my_component_a'
                || this.$children[i].$options.name == 'my_component_b'
                || this.$children[i].$options.name == 'my_component_c'
            ) {
                //do stuff
            }
        }
    }

如果之前在模板中为他们指定了引用,也可以直接访问他们:

<comp v-ref:my_component_ref></comp>

然后从Vue组件就绪:

if (this.$refs.my_component_ref){
//do stuff
}

Vue.js相关问答推荐

具有VUE身份验证的Azure AD

如何默认打开一个v-list-group?

vue3 + pinia:如何从?store 中获取一个值

Vue Datepicker 不会在渲染时显示默认日期

vuetify/mdi 不显示图标

从数据库中删除后,Vue.js $remove 不删除元素

Defer推迟执行,直到外部脚本加载到 Vue.js

Vue + Webpack 构建显示空白页面

如何在 Vue.js 中添加动态组件/部分

ECMA6 中 nameFunction() {} 和 nameFunction () => {} 的区别

为什么 CSS 关键帧动画在具有范围样式的 Vue 组件中被 destruct ?

如何在某些异步数据(在 Vuex 存储中)加载之前防止任何路由?

webpack模块解析失败意外字符'@'

v-for 中的 VueJS 插槽

如何从 vue.js 中的自定义组件中冒泡点击事件?

vue-router的router-link实际刷新?

为什么 vue 文档说 refs 不是响应式的,而实际上它们是响应式的

Vue Chart.js - 条形图上的简单点/线

vuejs 配置:使用全局变量?

如何在 vuejs 中的基于类的组件中编写计算设置器