在我的应用程序中,我需要创建一个可以从不同组件访问的函数库。做这个的最好方式是什么?我是否需要使用所有功能或类或模块或组件进行服务?
在这个库中如果我从一个组件调用一个函数并且这个函数需要访问调用者中的一个变量,那么它是否可以这样做?
答案 0 :(得分:2)
如果它只是一组一个关闭辅助函数,最简单的方法是使用辅助方法创建一个@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'
}
}
这适用于一组简单的随机效用函数。如果您需要更深入的内容,请解释,我们可以提供其他解决方案。