Javascript 无法在热毛巾SPA上加载模块
我有一个温泉项目,使用约翰·帕帕的热毛巾 我在Javascript 无法在热毛巾SPA上加载模块,javascript,amd,durandal,hottowel,Javascript,Amd,Durandal,Hottowel,我有一个温泉项目,使用约翰·帕帕的热毛巾 我在services文件夹中有一个listservice模块,功能如下: define(['services/logger', 'models/businessobject', 'config'], function (logger, businessobject, config) { ... } 另外,我在models文件夹中有一个businessobject模块。但是,当我在listservice模块中运行应用程序时
services
文件夹中有一个listservice
模块,功能如下:
define(['services/logger', 'models/businessobject', 'config'],
function (logger, businessobject, config) {
...
}
另外,我在models
文件夹中有一个businessobject
模块。但是,当我在listservice
模块中运行应用程序时,参数businessobject
的值为空
我是否错过了告诉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
模块是否已加载到客户端。您的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();