15
我剛剛下載了ExtJs 4的最終版本,我試圖用新模型方法實現一些東西。如何從ExtJs中存儲嵌套模型4
例如我有一個名爲SetupModel的模型,它有2個嵌套模型Users,Reports。 我創建了新的商店,並設置了Store = SetupModel的Model屬性。
問題是 - 數據加載到商店後,如何訪問我的嵌套屬性?
我需要類似myStore.data.Users(),但不正確。
有什麼想法?
我剛剛下載了ExtJs 4的最終版本,我試圖用新模型方法實現一些東西。如何從ExtJs中存儲嵌套模型4
例如我有一個名爲SetupModel的模型,它有2個嵌套模型Users,Reports。 我創建了新的商店,並設置了Store = SetupModel的Model屬性。
問題是 - 數據加載到商店後,如何訪問我的嵌套屬性?
我需要類似myStore.data.Users(),但不正確。
有什麼想法?
定義模型時,需要提供與嵌套模型的必要關聯。因爲你沒有提供你的代碼。這裏有一個例子:
我的產品型號:
Product = Ext.define('Product',{
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'user_id', type: 'int'},
{name: 'name', type: 'string'},
{name: 'price', type: 'float'}
],
proxy: {
type: 'localstorage',
id: 'products'
}
});
我的用戶模型:
User = Ext.define('User',{
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'name', type: 'string'},
{name: 'gender', type: 'string'},
{name: 'username', type: 'string'}
],
associations: [
{type: 'hasMany', model: 'Product', name: 'products'}
],
proxy: {
type: 'localstorage',
id : 'users'
}
});
現在,如果你有一個產品用戶模型的實例。這裏是你如何可以訪問產品:
var productStore = user.products();
注意user.products()
返回Ext.data.Store
。現在,您可以遍歷或過濾或找到您的產品記錄。下面是我得到了我的第一個產品的名稱:
productStore.getAt(0).get('name');
親愛的阿卜杜勒,如果我們想做出不從服務器第二個請求嵌套的GridPanel,是可以用這種方法? – 2013-09-11 21:33:55
嗨OğuzÇelikdemir,不知道你是如何需要它,你可以解釋,如果你想擴大一排或什麼? – 2013-09-12 20:38:16
@Our你可以在一個json中獲取嵌套數據,並在hasMany定義中爲你的關聯指定「associatedKey」。 – 2014-03-19 08:20:56