ko没有用requirejs定义

时间:2013-03-03 07:33:30

标签: knockout.js requirejs

我正在尝试使用requirejs以下列方式加载knockoutjs:

<script type="text/javascript">
    require(['scripts/knockout-2.2.1.debug'], function() {
        var someModel = {
            firstname: ko.observable('asd')
        };
        ko.applyBindings(someModel);
    });
</script>

使用顶部的脚本标记加载require.js。 当这段代码执行时,我得到一个ko未定义的错误。做类似的正确方法是什么?

1 个答案:

答案 0 :(得分:5)

require(['scripts/knockout-2.2.1.debug'], function(ko) {

我不确定但是看到requirejs上的示例,我想这些都是在该回调函数的范围内加载的。所以,除非你在函数中接受它,否则你不能使用它。

是的,你是对的(至少看到他们的例子)。如果包含4个库,则需要接受4个参数。例如,如果你加载了jquery和knockout,你可以按如下方式编写它:

require(['scripts/jquery.js', 'scripts/knockout-2.2.1.debug'], function($, ko) {