2013-10-22 12 views
10

私はButton.commandが通常のボタンのテーマIDであることを知っており、プロパティを設定できます。そして、私はeventHandlersがデフォルトでテーマIDを持っていないことを知っています。だから、一元的なeventHandlerのプロパティを設定するには、私は私が私のテーマでこれを持っていたものを、歴史的に追加しました:コントロールの子のテーマ設定プロパティ

<control> 
     <name>Button.EventHandler</name> 
     <property mode="override"> 
      <name>onStart</name> 
      <value>loading();</value> 
     </property> 
     <property mode="override"> 
      <name>onError</name> 
      <value>stoploading();</value> 
     </property> 
     <property mode="override"> 
      <name>onComplete</name> 
      <value>stoploading();</value> 
     </property> 
    </control> 

しかし、私は、各なeventHandlerにthemeId Button.EventHandlerを追加する必要があります。

子のテーマにプロパティを設定する方法はありますか?Button.Commandコントロールの子であるすべてのeventHandlerのプロパティを設定しますか?

答えて

0

私はあなたのテーマの問題を解決することはできませんが、おそらく私はあなたに一般的な問題の解決策を与えることができます。

あなたが達成しようとするのは、すべての部分リフレッシュイベントに素敵なローダーを付けることです。これはdojo.subscribeのAPIを使用することによって、より低いレベルで行うことができます。http://dojotoolkit.org/reference-guide/1.6/dojo/subscribe.html

例コード:

// we need to activate io events 
dojo.config.ioPublish = true 
dojo.subscribe("/dojo/io/send", function(/*dojo.Deferred*/dfd){ 
    loading(); 
}); 
dojo.subscribe("/dojo/io/stop", function(){ 
    stoploading(); 
}); 

このコードは、アプリケーションの起動時に実行する必要があります(onClientLoadイベントがうまくやるだろう)

関連する問題