用LABjs调用ko.applyBinding似乎没有完成

时间:2011-08-09 15:08:27

标签: javascript knockout.js labjs

我正在使用LABjs加载大量的javascript,所有似乎都工作正常,直到最后的等待(等待确保所有内容都被加载),然后告诉knockout绑定视图模型:

$LAB
.script("../lotsofJS.js")
.wait(function () {
    var homepageVM = new HomepageVM();
    ko.applyBindings(homepageVM);
    alert("complete");
});

由于某种原因,永远不会调用警报,但是firebug没有看到任何抛出的异常或控制台输出。 LABjs是否会在它们出现时消耗异常并且不会使它们冒泡?

我还应该提一下,当单步执行ko时,applyBindings都被列为对象和方法。所以它看起来不像是一个调用ko的问题,它甚至会进入ko minified文件。

2 个答案:

答案 0 :(得分:4)

LABjs v2.0引入了“Debug”配置选项,将lib置于调试模式,这意味着它将进度错误输出到控制台。你必须:

1)使用LABjs的“debug”构建,它是LAB.src.js -OR- LAB-debug.min.js;和

2)打开调试模式,这是通过$LAB.setGlobalDefaults({Debug:true});

完成的

如果您正在使用LAB-debug.min.js并且您打开了调试模式,但仍未获得控制台输出,那么这将是我需要了解的错误。如果是这样,你可以在github问题跟踪器上提交错误吗? https://github.com/getify/LABjs/issues

答案 1 :(得分:2)

快速查看之后,除非您使用LAB.src.js文件(并且是>版本2),否则它会吞下您的异常,LAB-debug.min.js对我来说不起作用。

无论如何,抛出的错误是没有加载jquery-tmpl,即使它已经显然需要在淘汰之前加载......之后效果很好!