2

我是 Durandal 的新手,想用这个框架重写我现有的淘汰赛项目。在我的旧项目中,我正在使用淘汰赛映射插件,现在我遇到了问题。我以 Durandal 示例项目为基础。这是我的一段代码:

define(['durandal/app', 'durandal/system', 'knockout'], function (app, system, ko) {

    var clients = ko.observableArray([]);

    return {    
        clients: clients,

        activate: function(data) {
            var self = this;
            ko.mapping.fromJS(getData(), {}, self.clients);
        }
    };
};

错误是:

未捕获的类型错误:无法调用未定义的方法“fromJS”

确实,它是未定义的,但我应该在哪里添加它并使其工作?

谢谢。

4

1 回答 1

0

您应该添加映射插件,define否则不会加载它。

define(['durandal/app', 'durandal/system', 'knockout', 'knockout-mapping'], function (app, system, ko) {

确保你能够在你的 requirejs 配置中像这样加载这个脚本。

我建议您在其中加载 Knockout 和映射插件,main.js这样您就不需要在所有视图模型中一直“要求”它们。您也可以单独捆绑它们而不是加载器的一部分。

于 2013-08-28T10:30:56.310 回答