ホームページ >ウェブフロントエンド >jsチュートリアル >Extjsの最適化 (1) 冗長なコードを削除して実行速度を向上させる_extjs

Extjsの最適化 (1) 冗長なコードを削除して実行速度を向上させる_extjs

WBOY
WBOYオリジナル
2016-05-16 17:37:061294ブラウズ

Extjs 自体は読み込みが遅い JS フレームワークであるため、プログラマーによるさらなる最適化が必要であることは以前に述べました JS パッケージ化の最適化
今回は、冗長コードを減らす方法について書きます。 1. ユニバーサル削除コード 2. ユニバーサル送信フォーム 3. Gird のユニバーサル初期化 今回はコードの書き込みと削除のみの最適化
最初にコードを投稿

コードをコピーします コードは次のとおりです:

/**
* GridPanel の選択されたレコードを取得します
*/
function $getGdSelectedIds(grid, idName) {
var selRs = Grid .getSelectionModel().getSelections();
var ids = Array();
for (var i = 0; i
ids. Push(eval("selRs [i].data." idName));
}
ID を返す
/**
*
を削除*/
関数 $postDel(a) ) {
Ext .Msg.confirm("メッセージの確認", "選択したレコードを削除してもよろしいですか?",
function(b) {
if (b == "はい") {
Ext.getBody( ).mask("削除しています。お待ちください");
Ext.Ajax.request({
url: a.url,
params: {
ids: a.ids
},
timeout: 100000000,//デフォルト 30000 ミリ秒
method: "POST",
success: function(c, d) {
Ext.getBody(). unmask();
Ext.ux.Toast.msg("操作情報", "レコードは正常に削除されました!");
if (a.callback) {
a.callback.call(this) );
return;
}
if (a.grid) {
a.grid.getStore().reload();
}
失敗: function(c, d) {
Ext.getBody().unmask();
Ext.ux.Toast.msg("操作情報", "操作エラーが発生しました。管理者に連絡してください。 ");
}
});
}
});
}
/**
* Gird 一括削除操作
*/
function $delGridRs(a) {
var b = $getGdSelectedIds(a.grid, a.idName);
if (b.length == 0) {
Ext.ux.Toast.msg("操作情報", "削除するものを選択してください記録! ");
return;
}
var c = {
url: a.url,
ids: b,
grid: a.grid
} ;
$postDel(c);
}


単一の削除コードの最適化結果が、元の 24 行のコードから 5 行のコードに変更され、コードの見栄えが良くなりました。 .


コードをコピーします コードは次のとおりです:
var a = Ext.getCmp(" PlanBookAllGrid");
//単一削除
$postDel({
url: __ctxPath "/traincost/multiDelPlanBook.action",
ids: b,
grid: a
} );


一括削除も同様です


コードをコピー コードは次のとおりです。 🎜> $delGridRs ({
url: __ctxPath "/traincost/multiDelPlanBook.action",
grid:c.gridPanel,
idName:'mainid'
});

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。