链接 vue、weex组件之间的循环引用
(解决子组件引用父组件时必须全局注册才能正确打包编译的问题)
【笔记分享列表】
把两个组件称为 A 和 B。模块系统发现它需要 A,但是首先 A 依赖 B,但是 B 又依赖 A,但是 A 又依赖 B,如此往复。这变成了一个循环,不知道如何不经过其中一个组件而完全解析出另一个组件。为了解决这个问题,我们需要给模块系统一个点,在那里“A 反正是需要 B 的,但是我们不需要先解析 B。”
我们知道那个产生悖论的子组件是 B 组件,所以我们会等到生命周期钩子 beforeCreate 时去注册它:
或者,在本地注册组件的时候,你可以使用 webpack 的异步 import:
我们知道那个产生悖论的子组件是 B 组件,所以我们会等到生命周期钩子 beforeCreate 时去注册它:
beforeCreate: function () {
this.$options.components.TreeFolderContents = require('./tree-folder-contents.vue').default
}
或者,在本地注册组件的时候,你可以使用 webpack 的异步 import:
components: {这样问题就解决了!
TreeFolderContents: () => import('./tree-folder-contents.vue')
}