根據this post和this one,有兩種將外部聲明存儲使用到viewModel的方法。在第一個例子中使用type
,並且在第二個例子中使用source
。
我的問題是type
和source
不是documented作爲配置的一部分。使用全局聲明存儲的ExtJS5 ViewModel
是否有任何其他方式在viewModel中使用外部聲明的商店?哪一個應該使用?爲什麼?相關文檔在哪裏可以找到?
(我用extjs5.1.1 GPL)
根據this post和this one,有兩種將外部聲明存儲使用到viewModel的方法。在第一個例子中使用type
,並且在第二個例子中使用source
。
我的問題是type
和source
不是documented作爲配置的一部分。使用全局聲明存儲的ExtJS5 ViewModel
是否有任何其他方式在viewModel中使用外部聲明的商店?哪一個應該使用?爲什麼?相關文檔在哪裏可以找到?
(我用extjs5.1.1 GPL)
type
應該使用,如果你想創建一個存儲的新實例,每個視圖模型。
source
如果您希望用作後備存儲的商店實例(傳入或通過商店管理器全局可用)應該使用。作爲鏈式存儲,數據更改將通過,但您可以對其進行排序或過濾,而不會影響源存儲(這對於顯示而言非常方便)。
您也可以直接創建或分配商店。分配(例如分配一個傳遞到視圖中的商店)沒有問題,但創建不受鼓勵 - 如果在定義ViewModel時使用Ext.create
創建新商店,那麼該商店將位於原型上,並在所有ViewModel實例中共享。一般來說,使用StoreManger最好不要那麼做。
謝謝你這個明確的答案。 – Michel
'type'屬性被支持,因爲'store'具有'Factoryable'混合。 'source'是鏈式商店的必需屬性:http://docs.sencha.com/extjs/6.0/6.0.1-classic/#!/api/Ext.data.ChainedStore-cfg-source –
至於哪裏這是記錄 - 在視圖模型的商店屬性中,有一個簡短的提及,「這家商店使用商店鏈來創建一個商店支持的數據在另一家商店。」不是最「面子」的文檔,但它在那裏。 –