我的SPA中有一些全局ui组件,已向vue.component(Input.name, Input)
注册。以这种方式注册时,组件可以在整个应用程序中使用。除了手动安装的组件之外,像这样:
toogleForm () {
const Tbody = document.querySelector('tbody')
const AddNewRowCtor = Vue.extend(AddNewRow)
const addNewRowCtorInstance = new AddNewRowCtor().$mount()
Tbody.insertBefore(addNewRowCtorInstance.$el, Tbody.querySelector('tr'))
addNewRowCtorInstance.$on('addResource', payload => { console.log(payload) });
},
无法在addNewRowCtorInstance
中访问全局组件。
如果导入,将发生错误([Vue warn]: $attrs is readonly
)。我猜是因为一个组件的不同实例相互冲突。
我认为解决方案是将全局组件作为道具从父级传递到手动安装的组件,有什么想法吗?谢谢。