Ani*_*esh 1 javascript typescript aurelia visual-studio-code
我生成使用新Aurelia大街项目aurelia-cli与au new命令.
这是app.ts给我的:
export class App {
message = 'Hello World!';
}
Run Code Online (Sandbox Code Playgroud)
我app.ts用app.ts这个教程更新了我的内容,如下所示:
export class App {
constructor() {
this.message = 'Hello World!';
this.firstName = "Animesh";
this.lastName = "Bulusu";
}
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
}
Run Code Online (Sandbox Code Playgroud)
我刷新页面时可以看到预期的输出,但是我在错误控制台中看到了这些错误.
"App"类型中不存在"消息"属性.
类型'App'上不存在属性'lastName'.
类型'App'上不存在属性'lastName'.
如果我删除构造函数并将变量直接放在类中,这些错误就会消失.为什么这样,我如何摆脱这些错误?
您需要声明成员:
class App {
private message: string;
private firstName: string;
private lastName: string;
constructor() {
this.message = 'Hello World!';
this.firstName = "Animesh";
this.lastName = "Bulusu";
}
}
Run Code Online (Sandbox Code Playgroud)
然后错误就会消失.
如果您的初始成员值是常量,并且在创建新实例时不需要初始化任何内容,那么就不需要构造函数:
class App {
private message = 'Hello World!';
private firstName = "Animesh";
private lastName = "Bulusu";
}
Run Code Online (Sandbox Code Playgroud)
(注意,这里也没有必要指定成员的类型,因为编译器可以推断它们是字符串)
此外,如果您希望为成员分配传递给构造函数的值,那么您也可以使用快捷方式(我非常确定它来自C#):
class App {
constructor(private message: string, public name: string) {}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |