我是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);
}
};
};
错误是:
未捕获的TypeError:无法调用未定义的方法'fromJS'
确实,它是未定义的,但我应该在哪里添加它并使其正常工作?
感谢。
答案 0 :(得分:0)
您应该在define
中添加映射插件,否则不会加载它。
define(['durandal/app', 'durandal/system', 'knockout', 'knockout-mapping'], function (app, system, ko) {
确保您能够在requirejs配置中加载此脚本。
我建议您在main.js
中加载Knockout和映射插件,这样您就不需要在所有视图模型中保持“要求”它们。您也可以单独捆绑它们,而不是加载器的一部分。