2016-07-08 25 views
1

Ich bin Formel haben und wollen, dass es ausgeführt wird, wenn Speicher in diesem viewModelchangeData ist.Bind Formel für Änderungen im Speicher

Wenn ich dies tun, wird die Formel nicht, wenn Daten im Speicher

geändert
stores: { 

    currentStore: { 
     extend: 'Ext.store.MyStore', 
     trackRemoved: false 
    }, 
    }, 
    formulas: { 

    'executeWhenStoreChange': { 
     bind: '{currentStore}', 

     get: function() { 
      console.log('store change') 
    }, 
+0

ich Ihre Grammatik für Sie repariert würde, wenn ich nur verstehe, was du uns zu sagen versuchst. – Alexander

+0

Vielleicht suchen Sie nach einer Veranstaltung 'Datahanged' im Geschäft. http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.data.AbstractStore-event-datachanged – Gilsha

+0

will ich bin nach Daten im Speicher zu ändern, ruft Formel ‚executeWhenStoreChange‘, vielleicht kann ich binden um diese Formel zu speichern? – user3045654

Antwort

4

Wenn Sie schauen, um eine Funktion zu feuern, wenn Daten geändert würde ich einen datachanged Zuhörer in den Laden verwenden (s) Sie möchten, dass das Ereignis ausgelöst wird.

currentStore: { 
     listeners: { 
      datachanged: function(store, eOpts) { 
       console.log('store change'); 
      } 
     } 
    }, 

Wenn Sie es für alle Filialen wollen Referenz nur die Funktion in jedem datachanged Zuhörer

currentStoreA: { 
     listeners: { 
      datachanged: 'onStoreDataChangeD' 
     } 
    }, 
    currentStoreB: { 
     listeners: { 
      datachanged: 'onStoreDataChangeD' 
     } 
    }, 

Dann im View-Controller:

onStoreDataChangeD: function(store, eOpts) { 
    console.log('store changed'); 
}