2

#モデル#: search.js

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 が定義されていません。誰でも私を reslove に導くことができますか?

検索モデル用に何か構成する必要がありますか?

ありがとう、
シヴァ・レディ

4

3 に答える 3

0

このように変更してみてください。

    define(function(){
      var searchCriteria = function () {      
      //.....
    });
于 2013-11-08T11:24:38.960 に答える
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();
});

2 番目の 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()
    };

});
于 2013-11-08T13:16:46.057 に答える