【发布时间】:2019-08-09 16:30:32
【问题描述】:
在 VueJS 中,是否有多个单文件组件(作为父子),每个都是嵌套在根实例中的 vue 实例?为什么我有这个假设,是因为每个组件可以具有相同的属性,即data、methods、template、生命周期挂钩(mounted、created 等)类似于根 Vue 实例或就像非 SFC 设置中的 vue 实例一样。
在我看来,任何 web-pack + vue-loader 单文件组件设置都是作为 JS 对象导出并导入父组件的嵌套对象,即子组件嵌套在父组件中,父组件嵌套在单个根 vue 实例中。
基本上,简单地说,只有一个根实例,SFC 是嵌套对象。正如 Sarah Drasner 在下面链接的 css-tricks 文章中所写:
您可以在一个应用程序中拥有多个实例。通常,我们会有一个实例和几个组件,因为实例是主应用程序。 src
anybuddy 能否更清楚地说明哪个断言是正确的,即 SFC 是每个 vue 实例,或者它们是单个根 vue 实例中的嵌套对象。如果后者被证明是正确的情况,为什么每个都可以有类似于根 vue 实例的生命周期钩子。
从技术上讲,Vue 如何使 SFC 像单独的 Vue 实例一样工作,但仍然是单个根实例中的嵌套对象?
谢谢
【问题讨论】: