這個問題與Trying to bind a store to a ViewModel有關,但是是一個不同的問題。爲什麼沒有在ViewModel中聲明的商店被加載?
我聲明瞭一個存放在視圖模型是這樣的:
Ext.define('Mb.view.rma.DetailsModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.rma-details',
requires: ['Mb.model.rma.Detail'],
data: {
id: 0
},
stores:{
details: {
//store: 'rma.Details',
type: 'rmaDetails', // correction as suggested by @scebotari
filters: [{
property: 'rma',
value: '{id}'
}],
remoteFilter: true
}
}
});
當我實例化視圖中,值id
在視圖模型正確更新(我可以看到這一點,因爲視圖反映它通過結合標題):
Ext.define('Mb.view.rma.Details', {
extend: 'Ext.grid.Panel',
requires: [
'Mb.view.rma.DetailsModel'
],
viewModel: {
type: 'rma-details'
},
bind: {
title: 'Retour n° {id}',
store: '{details}'
},
我現在面臨的問題是,實體店不會被加載,即使是remoteFilter: true
屬性在視圖模型(在店裏類而不是視圖模型不設置remoteFilter: true
不改變行爲)。
要完成的代碼,這裏是商店(沒有什麼特別):
Ext.define('Mb.store.rma.Details', {
extend: 'Ext.data.Store',
model: 'Mb.model.rma.Detail',
alias: 'rmaDetails', // correction as suggested by @scebotari
proxy: {
(...)
},
remoteFilter: true
});
主要問題:爲什麼不店裏得到加載?
子公司問題:看起來像一個頻繁的問題顯示一個細節網格,例如發票的行。我不確定我正在嘗試的是使用MVVM爲這個問題推薦的方法。 MVVM似乎比MVC更好,因爲它可以一次打開多個細節實例。我沒有找到這個案例的例子。有沒有推薦的方法來解決這個問題?
備註:
過濾器得到應用,因爲它應該。
店鋪{details}
似乎不是一個連鎖店。實際上,在視圖模型中將store: 'rma.Details'
更改爲source: 'rma.Details'
時,它變成了連鎖商店。
你有什麼問題嗎? –
@LudovicFeltz我仍然在寫問題,在這裏,對不完整的問題抱歉 –
好吧我刪除我的downvote –