Angular2 Typescript如何从组件构造函数中重构代码
Angular2 Typescript how to refactor code out of Component constructor
Angular 2 指南在
中提供了带有构造函数的示例
component://Typescript
class DisplayComponent {
myName: string;
names: Array<string>;
constructor() {
this.myName = "Alice";
this.names = ["Aarav", "Martín", "Shannon", "Ariana", "Kai"];
}
}
来自 https://angular.io/docs/ts/latest/guide/displaying-data.html#Create-an-array(2015 年 10 月 30 日检索)
考虑这是一个简单的例子,但在现实生活中,我的构造函数常常变得越来越大。此外,有时我需要在多个地方使用相同的逻辑,而不仅仅是在构建时间上。
我的第一反应是创建一个单独的函数并在实例上调用它。但是 Typescript 不允许这样做,因为在构造函数运行时不会创建实例。
我的问题是:如何从构造函数中提取代码行并将其拉出到单独的函数中?
这是您要找的吗?
class MyClass {
constructor( ) {
MyClass.saySomething()
this.sayItAll()
}
public static saySomething(){
console.log('Hi')
}
public sayItAll(){
console.log('Hello')
MyClass.saySomething()
}
}
所以您也可以在没有 MyClass 实例的情况下从另一个 class 调用 MyClass.saySomething()
?
Angular 2 指南在
中提供了带有构造函数的示例component://Typescript
class DisplayComponent {
myName: string;
names: Array<string>;
constructor() {
this.myName = "Alice";
this.names = ["Aarav", "Martín", "Shannon", "Ariana", "Kai"];
}
}
来自 https://angular.io/docs/ts/latest/guide/displaying-data.html#Create-an-array(2015 年 10 月 30 日检索)
考虑这是一个简单的例子,但在现实生活中,我的构造函数常常变得越来越大。此外,有时我需要在多个地方使用相同的逻辑,而不仅仅是在构建时间上。
我的第一反应是创建一个单独的函数并在实例上调用它。但是 Typescript 不允许这样做,因为在构造函数运行时不会创建实例。
我的问题是:如何从构造函数中提取代码行并将其拉出到单独的函数中?
这是您要找的吗?
class MyClass {
constructor( ) {
MyClass.saySomething()
this.sayItAll()
}
public static saySomething(){
console.log('Hi')
}
public sayItAll(){
console.log('Hello')
MyClass.saySomething()
}
}
所以您也可以在没有 MyClass 实例的情况下从另一个 class 调用 MyClass.saySomething()
?