我试图通过定期替换它的内部HTML来创建一个可以在AlertDialog
上工作的对象。尽管如此,我还是定期地对这个部分感到难过。这就是我尝试做的事情(代码的相关部分,我省略了不相关的声明等):
<div>
这导致以下结果 - function LedDisplay() {
this.initialize() {
window.setInterval(this.redraw, 200);
};
this.redraw = function() {
this.shiftDisplayMatrix();
$('#' + this.name).html(this.createSvg());
};
this.shiftDisplayMatrix = function() {
var firstRow = this.displayMatrix[0];
this.displayMatrix.splice(0, 1);
this.displayMatrix.push(firstRow);
};
};
。我相信这是因为this.shiftDisplayMatrix is not a function
在全球范围内被调用,并且那里没有redraw
。我似乎无法找到的是如何实现我想要的目标。
或许我想要做的是反模式?
答案 0 :(得分:1)
是的,因为调用this.shiftDisplayMatrix
的上下文不再是对象本身,它不再能够访问该函数。您可以尝试做的是
function LedDisplay() {
var self = this;
....
}
然后调用self.shiftDisplayMatrix
,我们使用self来保存LedDisplay对象的上下文。