Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS 5.0,在调用viewModel.linkTo()时由于模型命名空间而出错_Extjs_Extjs5 - Fatal编程技术网

ExtJS 5.0,在调用viewModel.linkTo()时由于模型命名空间而出错

ExtJS 5.0,在调用viewModel.linkTo()时由于模型命名空间而出错,extjs,extjs5,Extjs,Extjs5,我有一个模型,它位于域文件夹I:e中 app |--model |--domain1 |--ApplicationInfoModel |--AddressModel |--ProducerInfoModel |--CarrierInfoModel |--ApplicantInfoMod

我有一个模型,它位于域文件夹I:e中

app
   |--model
         |--domain1
                   |--ApplicationInfoModel
                   |--AddressModel
                   |--ProducerInfoModel
                   |--CarrierInfoModel
                   |--ApplicantInfoModel
                   |....
         |--domain2
                   |
                   |--AddressModel
                   |....
现在,当我尝试使用viewModel的linkTo动态加载数据时

   requires: [
    'Ext.MessageBox',
    'RA.model.domain1.ApplicationInfoModel',
    'RA.model.domain1.ApplicantInfoModel'        
    ],
    ....
    ....
    ....
    init:function()
    {
         this.getViewModel().linkTo('applicationData',
         {            
             reference:"ApplicationInfoModel",
             id:'appl-0000001',                     
             autoLoad:true
         }); 
     }
我得到一个错误,因为

       [E] Ext.app.ViewModel.getRecord(): Invalid model name:                
       ApplicationInfoModelUtil.js:Util.js:710 
       Objectmsg: "Invalid model name: ApplicationInfoModel"
       sourceClass: "Ext.app.ViewModel"
       sourceMethod: "getRecord"
有什么建议吗

编辑

我的所有模型都从我的基础模型扩展而来

Ext.define('RA.model.Base', {
extend: 'Ext.data.Model',

fields: [{
    name: 'id',
    type: 'int'
}],
schema: {
    namespace: 'RA.model',
    urlPrefix:'app/model',
    proxy: {
        url: '{prefix}/{entityName}',
        pageParam: '',
        startParam: '',
        limitParam: ''
    }
}
});
编辑2:

如果我将引用包括为:

reference:'domain1.ApplicationInfoModel',

-- or --

reference:'RA.model.domain1.ApplicationInfoModel',
我得到了下面的错误,当它试图将关联模型拉到同一个域下时会发生这种错误

GET http://localhost:8080/ra-ui/js/app/model/domain1.ApplicantInfoModel?_dc=1417096649804 404 (Not Found)
有关情况如下:

 Ext.define('RA.model.domain1.ApplicationInfoModel', 
 {
requires:['RA.model.domain1.ProducerInfoModel',
          'RA.model.domain1.CarrierInfoModel',
          'RA.model.domain1.ApplicantInfoModel'
          ],    
extend: 'Ext.data.Model',
idProperty:'appid',
fields:[{
            name:'appid',type:'string'
        },
        {
            name:'producer',
            reference:'ProducerInfoModel'
        },
        {
            name:'carrier',
            reference:'CarrierInfoModel'
        }           
        ],
hasMany:[       
    {           
        name:'applicants',          
        model:'RA.model.domain1.ApplicantInfoModel' 
    }
],

您需要使用完全限定的模型名称。

作为使用完全限定的模型名称的替代方法,您还可以使用名称空间(基本上是从模型名称的开头插入的前缀)配置架构。从:


其中,
MyApp.models.Base
被用作您自己模型的父类。

可能是键入错误,但您的域文件夹中没有
RA.model.domain1.ApplicationInfoModel

我已经尝试过了,但它会给我错误。=“GET 404(Not Found)。”我的架构已经在使用基(很抱歉没有包含这部分代码),问题在于需要添加另一个域层嵌套。好的。好的,对于这个名称空间和您的模型类名,使用
引用:“domain1.ApplicationInfoModel”
。是的,这是一个输入错误。如果我不将我的模型分离到不同的域文件夹中,我的整个代码就可以工作。
 Ext.define('MyApp.models.Base', {
   extend: 'Ext.data.Model',

   schema: {
     namespace: 'MyApp.models'
   }
 });