多くのグーグルとデバッグの後、Model インスタンスで UUID 戦略を使用するとエラーが発生する理由がわかりません。
ユーザーのデバイスにリモート データを保存するために localStorage を使用しています。ST2 は、モデル インスタンスで UUID 識別子を使用して一意の ID を生成することを推奨します ("必要" と表示されます)。
そうしないと、次のようになります。
[WARN][Anonymous] Your identifier generation strategy for the model does not ensure unique id's. Please use the UUID strategy, or implement your own identifier strategy with the flag isUnique.
私がそれをすれば、私は得る
Uncaught TypeError: Cannot call method 'substring' of undefined
ここに私のモデルがあります:
Ext.define("MyApp.model.News", {
extend: 'Ext.data.Model',
config : {
idProperty: "localId",
identifier: {
type: 'uuid'
},
fields : [ {
name: "localId",
type: "auto"
},{
name : "id",
type : "integer"
}, {
name : "title",
type : "string"
}[...]],
proxy: {
type: 'localstorage',
id : 'proxyNews'
}
}
});
そして localStorage ストア:
Ext.define('MyApp.store.NewsLocalStorage', {
extend: "Ext.data.Store",
config: {
storeId: 'newsLocalStorage',
model: "Lmde.model.News",
autoLoad: true
}
});
何が欠けていますか?