【发布时间】:2013-02-08 02:53:09
【问题描述】:
在上次更新 firefox 之后(我假设)我遇到了 firebug 控制台的问题。在我的应用程序中,当我将 app.refresh() 与设置 observable 结合使用时,会抛出“太多递归”并且 Firefox 没有响应。当我关闭萤火虫控制台时,一切正常。
在我的视图模型中,我有:
self.firstStep = ko.observable();
var app = Sammy(function () {
this.before({ only: { verb: 'get', path: URL.FirstStep } }, function (context) {
console.log("before");
});
this.get(URL.FirstStep, function () {
self.firstStep(new firstWindow());
console.log("get");
});
});
self.LoadData = function () {
$.ajax({
//...
success: function (data) {
//here is commented out because of debuging the problem
},
complete: function () {
app.refresh();
}
});
};
app.run();
self.LoadData();
进入控制台记录一次,之前记录两次。当我注释掉self.firstStep(new firstWindow()) 时,get 也会被触发两次。
在 chrome 中一切正常。帮助真的很感激。
编辑:@Mörre
当我修改代码时:
this.get(URL.FirstStep, function() {
self.firstStep = ko.observable();
self.firtStep(new firstWindow());
console.log("get");
});
它正在工作。
【问题讨论】:
-
当您关闭 Firebug 时,您很可能仍然遇到此问题,但您没有注意到它。我自己也有一些,它们总是你的代码中的错误。例如,我从另一个调用第一个销毁函数的销毁函数调用销毁函数 - 无限循环。
-
也许你是对的,但整个页面正在加载并且功能运行良好。当我打开控制台页面崩溃。 Chrome 在控制台打开的情况下工作,看不到任何错误。
-
那又怎样——当我忽略错误时,我的页面也能正常工作(在调试过程中几个月后才知道该错误,我猜现在就像你一样),我仍然打赌这是你的代码中的错误。修复它,您将受益,除非您只关心“只想让它工作而不关心错误”。抱歉,我不会帮助解决实际问题 - 现在必须调试我自己的代码,只是想说我说的话:)
-
我不是说我不会修复它。我仍在尝试这样做。无论如何谢谢;]
-
我不得不重新启动我的电脑,仍然不知道是什么导致了问题。谢谢
标签: javascript firefox knockout.js firebug sammy.js