我有一个SPA项目使用约翰爸爸的伟大的HotTowel。
我在listservice文件夹中有一个services模块,函数如下:
define(['services/logger', 'models/businessobject', 'config'],
function (logger, businessobject, config) {
...
}另外,我在businessobject文件夹中有一个models模块。但是,当我在listservice模块中运行应用程序时,参数businessobject的值为null。
有什么事情我错过了告诉RequireJS或Durandal/Amd,businessobject模块在那里?
businessobject.js的内容如下:
define(['services/logger'],
function(logger) {
var BusinessObject = function() {
var self = this;
self.id = ko.observable();
self.typeId = ko.observable();
self.descriptor = ko.observable();
self.isNullo = false;
return self;
};
return BusinessObject;
}此外,使用Firebug,我检查了businessobject模块是否加载到客户端。
发布于 2013-08-04 16:14:41
您的BusinessObject没有以任何方式被实例化。如果你试图用它来揭露各种模型,那么你就可以这样做-
define([], function() {
var businessModels = {
businessObject: businessObject
};
return businessModels;
function businessObject(id, typeid, descriptor, isNullo) {
var self = this;
self.id = ko.observable(id);
self.typeId = ko.observable(typeid);
self.descriptor = ko.observable(descriptor);
self.isNullo = isnullo;
}然后从你的列表服务
var myObj = new BusinessObject.businessObject(1, 2, 'my obj', false);或者,如果您只想为每个模型拥有一个模块,这个模块看起来有点笨重,但肯定可以完成,那么您可以保留代码原样,并将其实例化-
var myObj = new BusinessObject();https://stackoverflow.com/questions/18042490
复制相似问题