我的课堂宣言是:
class Category {
constructor(id, name, type, url) {
this.id = id;
this.name = name;
this.type = type;
this.url = url;
this.assets = [];
}
set assets(value) {
this.assets = value;
}
}
我已使用import Category from './beans';
将其导入到我的主类中,并且尝试使用
let category = new Category("1", "2", "3", "4");
我遇到了错误:
undefined is not a constructor (evaluating 'new _beans.Category("1", "2", "3", "4")')
如何解决这个问题?
编辑似乎是assets
的构造函数中的Category
声明引起了错误。当我删除它时,它起作用了。现在的问题是,如何在Category
类中保留一个变量,该变量将在以后初始化而不是在构造函数中?
答案 0 :(得分:0)
关于如何保存实例变量的新问题。与其他一些语言不同,您不能在构造函数(或其他实例方法)之外声明实例变量。因此,您可以将它们放入构造函数中,但不必提前知道其值。例如:
class Category {
constructor(id, name, type, url) {
this.id = id;
this.name = name;
this.type = type;
this.url = url;
this.assets = [];
this.myVar = null;
}
setMyVar(myVar) {
this.myVar = myVar;
}
}