侦听器返回未定义的值,并且我相信start属性。这是一个观察者对象。
var updateP = {
cb: function (event, properties) {
"listener" in window? listener.next(properties):null
},
start: function (listener) {
dataset.on("update", this.cb)
},
stop: function () {
dataset.off("update", this.cb)
},
}
答案 0 :(得分:0)
listener
变量是start
函数的局部变量,因此您不能将其作为全局变量来访问。
在this.cb
内移动updateP.start
的定义,然后可以使词汇变量变小。
var updateP = {
start: function(listener) {
function asdf(ab) {
console.log(ab)
}
this.cb = function(event, properties) {
listener.next(properties)
};
dataset.on("update", this.cb)
},
stop: function() {
if (this.cb) {
dataset.off("update", this.cb);
}
},
}