Function 角函数库

Function 角函数库,function,angular,angular-services,angular-components,Function,Angular,Angular Services,Angular Components,在我的应用程序中,我需要创建一个可以从不同组件访问的函数库。最好的方法是什么?我是否需要使用所有功能或类、模块或组件创建服务 在这个库中,如果我从一个组件调用一个函数,并且这个函数需要访问调用者中的一个变量,那么可以这样做吗?如果它只是一组一次性的助手函数,最简单的方法是用助手方法创建一个@Injectable服务,然后将它注入到任何需要它们的组件中。您还可以提供公共变量,以便可以在html中访问它们 @Injectable() export class Helpers { helper

在我的应用程序中,我需要创建一个可以从不同组件访问的函数库。最好的方法是什么?我是否需要使用所有功能或类、模块或组件创建服务


在这个库中,如果我从一个组件调用一个函数,并且这个函数需要访问调用者中的一个变量,那么可以这样做吗?

如果它只是一组一次性的助手函数,最简单的方法是用助手方法创建一个@Injectable服务,然后将它注入到任何需要它们的组件中。您还可以提供公共变量,以便可以在html中访问它们

@Injectable()
export class Helpers {
    helper1() { return "hello"; }
    helper2(x) { return x + 1 }
}

@Component({
    providers: [Helpers],
    template: "<div>{{helper1()}}</div>"     // will display 'hello'
)}
export class MyComponent {
    public helper1: Function = Helpers.helper1;

    constructor() {
        console.log(Helpers.helper2(5));    // will output '6'
    }
}
@Injectable()
导出类助手{
helper1(){返回“hello”;}
helper2(x){返回x+1}
}
@组成部分({
提供者:[帮助者],
模板:“{{helper1()}}”//将显示“hello”
)}
导出类MyComponent{
public helper1:Function=Helpers.helper1;
构造函数(){
console.log(Helpers.helper2(5));//将输出“6”
}
}

这对于一组简单的随机效用函数非常有效。如果您需要更深入的内容,请解释,我们可以提供其他解决方案。

非详细回答:创建服务、导入服务、从其他组件调用服务上的功能。这很好,这是我真正需要确定的。我是这样做的,但a发现了一个局限性。在我的服务中,我无法访问组件中的变量,因为我使用的是模态驱动的表单,在某些函数中,我需要访问表单。可以不把表单作为参数发送吗?啊,作为服务不可以,如果它都是单独的,你可以通过参数传递,但你说你不想这样做。如果您需要以有意义的方式与组件交互,那么您可能需要创建一个使用此服务的组件类,并通过@input和OutputUnderstand与父组件交互。我会尽量沿着这条路走。非常感谢约书亚。