2

モデル「TeMdl」を定義して Fn TeMdl.load(1) を使用すると、param id=1 のリクエストが送信されます。そう..リクエストが次のようになるように id パラメータを変更する方法:"......\?uid=1"? 私はextjsに新鮮です!

4

1 に答える 1

1

Ext ドキュメントのコメントから:

load() メソッドはモデルの idProperty を尊重せず、それが「id」であると想定します。

次のサブクラスは、id の代わりに idProperty を使用して、この動作を修正します。

Ext.define("Ux.data.Model", {
  extend: "Ext.data.Model",
  statics: {
    load: function(id, config){
      config = Ext.apply({}, config);

      var params={};
      params[this.prototype.idProperty] = id;

      config = Ext.applyIf(config, {
          action: 'read',
          params: params
      });

      var operation  = Ext.create('Ext.data.Operation', config),
          scope      = config.scope || this,
          record     = null,
          callback;

      callback = function(operation) {
          if (operation.wasSuccessful()) {
              record = operation.getRecords()[0];
              Ext.callback(config.success, scope, [record, operation]);
          } else {
              Ext.callback(config.failure, scope, [record, operation]);
          }
          Ext.callback(config.callback, scope, [record, operation]);
      };

      this.proxy.read(operation, callback, this);
    }
  }
});
于 2012-08-09T16:58:53.120 に答える