Vuejs2 如何将组件附加到主体但与父级通信?

Vuejs2 如何将组件附加到主体但与父级通信?,vuejs2,vue-component,Vuejs2,Vue Component,我正在尝试在VueJS2.0中使用模态 我的目标是从DOM中任何可能的地方调用它,并将组件作为主体的子级呈现,但在初始化组件的地方与组件通信 我尝试的是: ... mounted () { document.getElementsByTagName('div')[0].appendChild(this.$el); } ... 当然,它会在我希望呈现元素的位置呈现元素,并与初始化元素的组件通信。但当我试图移除它时。。。我得到: DOMException: Failed to execute

我正在尝试在VueJS2.0中使用模态

我的目标是从DOM中任何可能的地方调用它,并将组件作为主体的子级呈现,但在初始化组件的地方与组件通信

我尝试的是:

...
mounted () {
   document.getElementsByTagName('div')[0].appendChild(this.$el);
}
...
当然,它会在我希望呈现元素的位置呈现元素,并与初始化元素的组件通信。但当我试图移除它时。。。我得到:

DOMException: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.
在初始化模态的组件中显示/隐藏模型的方式,包括可见参数:true/false,然后:

<modal v-if="visible"></modal>


有什么想法吗?

问题:为什么要动态插入和移除组件?为什么不让它一直在那里,只是显示/隐藏需要?我想使用它的模态。。。我找到了一个解决办法。我保存了元素被触发到vuex的上下文,还通过vuex触发了所需模式的显示。通过这样做,我能够将数据传递到上下文。我认为这不是最好的解决办法,因此我等待一个更好的办法——如果有的话。否则我会把答案贴在这里。