define('search',function(){
var searchCriteria = function () {
var self = this;
self.DeviceSerialNumber = ko.observable('');
self.OrderNumber = ko.observable('');
self.PosTranNumber = ko.observable('');
self.EmailAddress = ko.observable('');
self.SuspendedbarCode = ko.observable('');
self.MobileNumber = ko.observable('');
};
return new searchCriteria();
});
我试图通过以下代码在 searchReturn.js 中调用上述模型
define(function (require) {
var searchObj = require('search')
});
当我调试代码时,searchObj未定义。任何人都可以指导我重新开始吗?
我应该为搜索模型配置什么吗?
谢谢,
湿婆雷迪
答案 0 :(得分:0)
尝试改变这样,
define(function(){
var searchCriteria = function () {
//.....
});
答案 1 :(得分:0)
不确定你是否全局加载了淘汰赛,但如果没有,那么它必须在它首次使用之前声明:
/*globals define*/
define(function(require){
"use strict";
var ko = require('knockout'),
searchCriteria = function () {
var self = this;
self.DeviceSerialNumber = ko.observable('');
self.OrderNumber = ko.observable('');
self.PosTranNumber = ko.observable('');
self.EmailAddress = ko.observable('');
self.SuspendedbarCode = ko.observable('');
self.MobileNumber = ko.observable('');
};
return new searchCriteria();
});
第二个AMD模块没有返回值(可能只是一个复制/粘贴问题),但这也可能导致问题。不确定是否有为搜索配置的路径,但如果没有,并且该模块可以在同一目录中访问,那么它必须以./
为前缀
/*globals define*/
define(function(require){
"use strict";
var searchObj = require('./search');
return {
searchObj : searchObj
};
});
实时版本:http://dfiddle.github.io/dFiddle-2.0/#so/19857807
只是添加。如果搜索模型应该多次实例化,那么最好只从搜索模块返回构造函数并在需要时进行实例化。
/*globals define*/
define(function(require){
...
return searchCriteria;
});
define(function(require){
"use strict";
var searchObj = require('./search');
return {
searchObj : new searchObj()
};
});
答案 2 :(得分:0)
define(function (require) {
return {
searchCriteria: function () {
var self = this;
self.DeviceSerialNumber = ko.observable('');
self.OrderNumber = ko.observable('');
self.PosTranNumber = ko.observable('');
self.EmailAddress = ko.observable('');
self.SuspendedbarCode = ko.observable('');
self.MobileNumber = ko.observable('');
}
};
});
上面的代码对我来说很好,我可以调用我的searchCriteria对象。
谢谢, 婆