我目前在TypeScript应用程序中有以下内容:
interface Data {
url: string,
// more stuff
}
(...)
export class something() {
public data: Data;
}
method(){
this.data.url = "things";
}
问题是,每次我尝试给data.url一个值时,我都会收到错误消息,说我无法设置undefined的属性url。 我究竟做错了什么?为什么?
提前致谢!
答案 0 :(得分:0)
1)类声明语法错误,应该是
export class something {
}
而不是
export class something() {
}
2)method
在类之外定义,它应该在类
3)this.data
未实例化,它是undefined
,并且您正在尝试访问url
变量的undefined
属性,因此出错。
interface Data {
url: string,
// more stuff
}
(...)
export class something {
public data: Data;
method(){
this.data = {
url: "things",
// more stuff
}
}
}
如果您想从课程外部访问method
,则需要实例化课程something
。
method() {
let obj = new something();
obj.data = {
url: "things",
// more stuff
}
}