【问题标题】:Model alias in ExtJsExtJs 中的模型别名
【发布时间】:2012-09-26 14:11:16
【问题描述】:

我有我的模型的定义。这里是:

Ext.define('KP.model.account.AccountList', {
    extend: 'Ext.data.Model',

    alias: 'model.d_AccountList',

    fields: ['key', 'number', 'personal_account', 'full_name', 'adress', 'pu']
});

所以,我想通过别名创建这个模型。 或者定义 store,什么用这个模型是这样的:

model: 'd_AccountList'

我该怎么做? 谢谢!

P.S.:也许我的别名是错误的...

【问题讨论】:

  • model: 'KP.model.account.AccountList' 是我相信的唯一方式。

标签: extjs model


【解决方案1】:

伙计们,

'alias' 成员存在于从 Ext.Class 继承的所有 ExtJS 类中。这包括模型。只要不与其他别名冲突,您就可以使用任何您想要的别名。最好按域划分它们。已经有一些域,例如“widget”、“store”、“proxy”。是否需要指定域或完整别名取决于使用别名配置时实例化类。例如,如果您引用别名为“proxy.myProxyAlias”的代理,则应在商店中使用: 代理:'myProxyAlias' 原因是 Ext.data.Store 类将自动预先添加“代理”。很少有其他人在做同样的伎俩:

  • 从关联中定义“读者”
  • 从代理定义“作家”/“读者”
  • 从表单中定义“阅读器”
  • 从图表中定义“轴”/“系列”
  • 从商店定义“代理”/另一个“商店”
  • 定义“小部件”

在您使用的情况下,您确实为模型类提供了该技巧,因此,如果您使用别名定义模型: 别名:'model.myModel' 在商店中,您必须使用完整的模型类名称或: xtype: 'model.myModel'

希望对你有帮助。

【讨论】:

    【解决方案2】:

    据我所知没有。

    【讨论】:

    • 对于商店别名存在,对于视图存在,为什么模型没有别名?有没有办法通过短名称、独立的物理路径来创建模型。
    【解决方案3】:

    我认为你不能为模型创建别名,Ext.data.Model 上没有别名属性。

    http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Model

    Ext.define('model.d_AccountList', {
        extend: 'Ext.data.Model',    
        fields: ['key', 'number', 'personal_account', 'full_name', 'adress', 'pu']
    });
    
    var accountList = Ext.Create('model.d_AccountList', {
        key: 11,
        number: 33,
        personal_account: 4553463
    })
    

    【讨论】:

    • 没有“不能通过别名创建模型”等信息
    • 定义类似:'model.d_AccountList' 并创建类似:'model.d_AccountList' - 它不起作用...
    猜你喜欢
    • 2021-10-16
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    相关资源
    最近更新 更多