在我的应用程序中,我需要创建一个从不同组件访问的函数库。做这件事最好的方法是什么?我是否需要创建一个包含所有函数的服务,或者是一个类、一个模块或一个组件?
在这个库中,如果我从一个组件调用一个函数,并且这个函数需要访问调用者中的一个变量,那么可以这样做吗?
发布于 2017-01-21 09:31:40
如果它只是一组一次性的助手函数,最简单的方法是用你的助手方法创建一个@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'
}
}这对于一组简单的随机实用函数非常有效。如果您需要更深入的东西,请解释,我们可以提供替代解决方案。
https://stackoverflow.com/questions/41770989
复制相似问题