运行代码时出现此错误。
TypeError: Cannot set property 'variableName' of undefined
我的代码块是。
static setOnline(stream) {
this.Streams[stream.name] = stream;
this.updateStreams();
}
该行错误是此行
this.Streams[stream.name] = stream;
谷歌搜索后,我认为它不能正确设置我的数组。任何帮助都会很棒!
编辑:
class Streams {
static setOnline(exampleStreamName) {
this.streams[exampleStreamName.name] = stream;
this.updateStreams();
}
}
exampleStreamName是.json文件内部的外部字符串。
答案 0 :(得分:0)
静态函数没有“ this”成员。这就是使它们静止的原因。该模式是一个“单例”,因为您仅使用一个实例或类。
class Streams {
static setOnline(exampleStream) {
Streams.streams[exampleStream.name] = exampleStream;
Streams.updateStreams();
}
static updateStreams() {
console.log(Streams.streams);
}
}
Streams.streams = {}
Streams.setOnline({
name: 'foo'
})
Streams.setOnline({
name: 'bar'
})
更多沉思...
将streams对象放入Streams类中并创建您在各处使用的对象更为灵活。
拥有一个不是Streams实例的静态stream成员也令人困惑。