我正在尝试在Angular 2 / TypeScript项目中重构一些代码,但是遇到了一些麻烦。
以下是我所拥有的一些代码的简化版本:
example.component.ts:
export class ExampleComponent implements OnInit {
testString1: string;
testString2: string;
ngOnInit(): void {
this.testString1 = 'first test string value';
this.testString2 = 'second test string value';
}
}
虽然这个例子很简洁,但我还有很多属性要在我的项目中定义。为了减少混乱,我想在一个单独的文件中定义某些变量并导入它们,所以我做了类似的事情:
variables.ts:
export class Variables {
testString1: string;
testString2: string;
}
example.component.ts:
import { Variables } from './variables';
export class ExampleComponent implements OnInit {
ngOnInit(): void {
this.testString1 = 'first test string value';
this.testString2 = 'second test string value';
}
}
根据Visual Studios的说法,找到了导入的文件,但是我收到了以下错误:
Build:属性'testString1'在'ExampleComponent'类型上不存在。
Build:属性'testString2'在'ExampleComponent'类型上不存在。
我在这里做错了什么?
答案 0 :(得分:1)
当您使用'这时,您需要在课堂上使用testString1和testString2:
export class ExampleComponent implements OnInit {
public testString1:string;
public testString2:string;
ngOnInit(): void {
this.testString1 = 'first test string value';
this.testString2 = 'second test string value';
}
}
如果你想要变量类中的值,你有两种方法:
1)
export class Variables {
public static testString1: string;
public static testString2: string;
}
和:
import { Variables } from './variables';
export class ExampleComponent implements OnInit {
ngOnInit(): void {
Variables.testString1 = 'first test string value';
Variables.testString2 = 'second test string value';
}
}
2)保持现在的变量并执行此操作:
export class ExampleComponent implements OnInit {
public variables:Variables = new Variables();
ngOnInit(): void {
this.variables.testString1 = 'first test string value';
this.variables.testString2 = 'second test string value';
}
}
祝你好运!