0

ストア、モデル、ビュー(ツールバー)を備えたコントローラーがあります:

Ext.define('Cc.controller.Headers', {
  extend: 'Ext.app.Controller',

  stores: ['User'],
  models: ['Agent'],
  views: ['Header'],


  refs: [
    { ref: 'navigation', selector: 'navigation' },
    { ref: 'tabPanel', selector: 'tabpanel' },
    { ref: 'head', selector: 'head' },
    { ref: 'logoutButton', selector: 'head button[action=logout]'},
    { ref: 'helpButton', selector: 'head button[action=help]'}
  ],

  init: function() {
    this.control({
      'head button[action=logout]': {
        beforerender: this.initLogoutButton,
        click: this.onClickLogoutButton
      },
      'head button[action=help]':{
        click: this.onClickHelpButton
      }
    });
  },

  initLogoutButton: function(a){
    var store = this.getUserStore(),
      button = this.getLogoutButton();
    store.load();
    var user = this.getAgentModel();
    button.setText('Logout ['+user.get('lastname')+']');
    console.log(store.count());
  },

  onClickLogoutButton: function(view, record, item, index, e){
    alert('déconnexion');
  },

  onClickHelpButton: function(view, record, item, index, e){
    alert('help');
  }
});

私の問題はinitLogoutButton関数にあります。ajaxリクエストから取得したユーザーの唯一のインスタンスを取得する必要があります(常に1つのインスタンスのみ)。jsコンソールでリクエストを確認できます。すべて問題ありませんが、このデータで変数や配列を設定することはできません。

さらに、store.count()関数は0を返します。

4

1 に答える 1