0

当我们使用 vue-property-decorator 并通过以下方式定义模块时:

export default class ModuleName extends Vue {
   ...
}

并在应用程序中嵌入多个模块我们可以通过寻址模块的名称来访问这些模块中的特定模块吗?我的意思是考虑到这些方案,我可以从 Module_A 调用并运行属于 Module_C 的函数吗?

... base
     |
     .... Module_A
     |
     .... Module_B
            |
            .... Module_C

我的意思是这样的:

在 Module_A 中:Vue.Module_C.someFunctionBelongsToModuleC();

ps 我完全了解总线技术,$emit,$parent,...我想知道 ModuleName 本身是否有任何优点?

4

1 回答 1

0

我假设当您说“模块”时,您指的是 Vue 中的组件。由于对组件使用类语法会导致这些组件成为对象实例,因此您可以使用refs访问任何成员,包括函数。因此,Module_A 可以调用 Module_B 上的函数,而 Module_B 调用 Module_C 上的函数。要从 Module_A 访问 Module_C 的成员,Module_B 需要通过它自己的成员公开这些成员。

也就是说,这不是一个好主意:)。尽可能将道具沿着链条传递是首选。

于 2020-08-24T19:55:51.013 回答