首页 > 解决方案 > 如何隔离 Angular / Typescript 中的私有静态函数?

问题描述

如何将private static functions一个类隔离到另一个文件中。

在我的component.ts我有很多静态函数,需要将它们放在另一个 ts 文件中以获得更好的可读性。我怎样才能做到这一点 ?

就像我们可以将接口放在另一个文件中并导出它们一样,静态函数也有类似的东西吗?

期望的结果是我能够Component.foo()component.ts文件中调用,但private static foo()存在于logic.ts文件中。有可能这样做吗?

标签: angulartypescriptangular-cli

解决方案


你不能按照你的要求去做。

您可以轻松地为静态文件创建一个外部类,例如:

export class Logic {
    public static foo() {
        console.log('foo');
    }
}

然后component.ts你可以调用 Logic.foo() 就好了。但是,您不能制作 fooprivate因为它在 Component 中不可用。此外,当您Logic在组件内部或其他任何地方重命名时,即

const LogicalFunctions = Logic;
LogicalFunctions.foo();

您不能将它们作为组件的一部分引用,例如 la Component.foo()


推荐阅读