3

次の簡単なコードを考えてみましょう

function doGet(){
  var app = UiApp.createApplication();
  var panel = app.createVerticalPanel();
  var handler = app.createServerHandler('click').addCallbackElement(panel);
  var btn = app.createButton('Click', handler);

  panel.add(button);
  app.add(panel);
  return app;
}

単一のパネルがあり、コールバック要素は唯一のパネルです。ただし、さまざまな目的で多くのパネルがある場合、複数のコールバック要素を追加するか、さまざまなパネルをすべて単一の「マスター」パネルに追加し、マスター パネルをコールバック要素として追加するというより良いアプローチは何ですか。これらのアプローチの長所と短所は何ですか?

以下のコード例

オプション1:

function doGet(){
  ...
  var panel1 = app.createVerticalPanel();
  var panel2 = app.createVerticalPanel();

  var handler = app.createServerHandler('click')
     .addCallbackElement(panel1) 
     .addCallbackElement(panel2) ; // Notice two callback elements added here 
  var btn = app.createButton('Click', handler);

  ...
  return app;
}

オプション 2:

function doGet(){
  ...
  var masterPanel = app.createVerticalPanel();
  var panel1 = app.createVerticalPanel();
  var panel2 = app.createVerticalPanel();

  var handler = app.createServerHandler('click')
     .addCallbackElement(masterPanel) ;

  var btn = app.createButton('Click', handler);

  masterPanel.add(panel1).add(panel2); // Master panel has both panels added to it      
  ...
  return app;
}

ある選択肢は他の選択肢よりも優れていますか?

4

1 に答える 1

2

オプション 2 は単純にスクリプトに簡単に記述できます ;-) そして、(最終的には) 長い callbackElements のリストで何かを忘れないようにします。

しかし、どちらも同じように機能します。

于 2012-07-06T08:46:26.783 に答える