当我们使用vue-property-decorator并通过以下方式定义模块时:
export default class ModuleName extends Vue {
...
}在app中嵌入多个模块我们可以通过指定模块的名称来访问这些模块中的特定模块吗?我的意思是,考虑到这些方案,我可以从Module_A调用和运行属于Module_C的函数吗?
... base
|
.... Module_A
|
.... Module_B
|
.... Module_C我的意思是这样的:
在Module_A中:Vue.Module_C.someFunctionBelongsToModuleC();
附注:我完全了解总线技术,$emit,$parent,...我想知道ModuleName本身在这方面有没有什么优点?
发布于 2020-08-25 03:55:51
我假设当你说“模块”时,你指的是Vue中的组件。由于对组件使用类语法会导致这些组件成为对象实例,因此您可以使用refs访问包括函数在内的任何成员。因此,Module_A可以调用Module_B上的函数,Module_B可以调用Module_C上的函数。要从Module_A访问Module_C的成员,Module_B需要通过自己的成员公开这些成员。
也就是说,这不是一个好主意:)。只要有可能,最好将道具顺着链条传递。
https://stackoverflow.com/questions/63567643
复制相似问题