以下は私のものMyStore.js
です:
Ext.define('MyApp.store.MyStore', {
extend: 'Ext.data.Store',
model: 'MyApp.model.Note',
autoLoad: true,
proxy: {
type: 'ajax',
api: {
/* I want to change the following two filepaths */
read: 'data/notesMar2013.json',
update: 'data/notesMar2013.json'
},
reader: {
type: 'json',
root: 'data',
successProperty: 'success'
}
}
});
次のように、コントローラーを介して MyStore の値read
とupdate
値を変更しようとしています:api
var notesStore = Ext.getStore('MyStore');
notesStore.on('load',function(notesStore){
var proxy = notesStore.getProxy();
Ext.apply(proxy.api,{
/* Changing the file paths here */
read: 'data/notesApr2013.json',
update: 'data/notesApr2013.json'
})
notesStore.load();
},this,{single:false});
//
console.log(notesStore);
上記の関数を使用して、MyStore を更新しようとしていますが、更新されません。Chrome コンソールでチェックインすると、値は正常に変更されましたが、使用したストアを更新またはオーバーライドしませんでしたnotesStore.load()
。何が問題なのですか?
以下のリンクを参考にしました
回答: コードは正常に機能していました。私の問題を説明しましょう。ストアのコンテンツをコンテナに表示していましたが、最初はコンテナにコンテンツが入っていて、高さが固定されていました。コンテナにコンテンツを追加しても、コンテナの高さが固定されているため、非表示になります。これまでは、既定のコンテンツを削除してから追加するのではなく、既定のコンテンツにコンテンツを追加していました。それが実際の問題でした。