2

以下のプッシュ関数で行うように、ビューにパラメーターを与えることができるはずである Ext の例をいくつか見ました (今はもう一度見つけることができません)。これが Sencha 2 でも可能である場合、ビューでこの値を取得するにはどうすればよいですか?

var saveResponse = account.save({
      success: function(model, operation) {
          console.log('The Account was created, response: '+model);
          loginview.push({
              xtype: 'adultmenulist',
              adult: model
          });
      },
      failure: function(model, operation) {
          ....
      }
});
4

2 に答える 2

2

私は通常、次のような名前のカスタム オブジェクトに関数を作成しますupdateWithRecord。オブジェクトをプッシュするたびに、このメソッドを呼び出してから、次のようにプッシュします。

var record = Ext.create('MyApp.model.Adult', { firstName: 'Thomas', lastName: 'Vervik' });
this.getAdultMenuList().updateWithRecord(record);
this.getNav().push(this.getAdultMenuList());

詳細ページと NavigationView の両方に MVC ref を使用する方法に注意してください。

refs: {
    nav: {
        selector: 'mainnavigation',
        xtype: 'mainnavigation',
        autoCreate: true
    },
    adultMenuList: {
       selector: 'adultmenulist',
       xtype: 'adultmenulist',
       autoCreate: true
   }
}

私のページは次のようになります。

Ext.define('MyApp.view.AdultMenuList, {
   extend: 'Ext.Container',
   config: {
     items: [
        { xtype: 'label', name: 'firstName' }, { xtype: 'label', name: 'lastName' }
      ]
    },
    updateWithRecord: function(record) {
       this.down('label[name="firstName"]').setHtml(record.get('firstName'));
       this.down('label[name="lastName"]').setHtml(record.get('lastName'));
    }    
});
于 2012-08-20T15:13:08.187 に答える
0

any コントローラーでは、ビューへの参照を作成するだけです:

refs: {
    adultMenuList:'adultmenulist'
}

次に、コントローラーのどこでも、次のことができます。

this.getAdultMenuList().getAdult();

これを機能させるには、 config で定義されたパラメーターadultmenulistを追加する必要があります。adult

Ext.define('MyApp.view.AdultMenuList, {
  extend: 'Ext.Container',
  config: {
    ...
    adult:null
  }    
});

これが役に立ったことを願っています

于 2012-08-20T21:06:56.527 に答える