1

コントローラーを使用してイベントを特定のコントロールにアタッチしますが、Sencha Architect を使用してこれを表現するのに苦労しています。

「Login-Button-Login」という名前のボタンがあります。

私のコントローラーで、コードがある場合:

config: {
    control: {
        "button": {
            tap: 'onButtonTap'
        }
    }
},

onButtonTap: function(button, e, eOpts) {
    Ext.Msg.alert("onButtonTap fired");
},

ボタンは期待どおりに機能します。これは問題ありませんが、明らかにすべてのボタンに適用されます。「Login-Button-Login」への参照を追加します (私が選んだ名前ではありません!):

config: {
    refs: {
        loginButtonTap: 'Login-Button-Login'
    },

    control: {
        "button": {
            tap: 'onButtonTap'
        },
        "Login-Button-Login": {
            tap: 'onButtonTap2'
        }
    }
},

しかし、参照「loginButtonTap」をコントロール オブジェクトのアイテムとして使用するにはどうすればよいでしょうか。Sencha Architect コントロールを使用しようとしても、「Login-Button-Login」が直接参照されてしまいます。

関連して、このコントローラーをボタンを含む「ログイン」ビューにリンクするにはどうすればよいですか? 確かに、参照ごとに完全なセレクターを使用する必要はありませんか? 明らかに、これを機能させることができたとしても、Login-Button-Login が「ログイン」ビューを参照する必要があるため、現在のところ機能しません。

4

1 に答える 1

1

コントロールのid(または) をin イベント ハンドラー構成の値として使用するだけです。itemIdcontrolQuery

config: {
    control: {
        "#btnWhatever": {
            tap: 'onWhateverTap'
        },
}

ボタンへの参照を指定してから、イベント ハンドラーでその参照を指定するという 2 つの作業を行うのが面倒なので、要素にイベントをアタッチするこの方法を使用することを好みますcontrolQueryonWhateverTapボタンへの参照を引数として取得し、ほとんどの場合、その参照は他の場所では必要ありません。

于 2013-08-29T10:13:59.157 に答える