Ошибка: C2008: у требования не было подходящих файлов (ExtReactModels.model.Item) в ExtReact
Итак, я пытаюсь соединить модели, используя схему и пространство имен, но получаю эту ошибку: "Ошибка: C2008: у требования не было подходящих файлов (ExtReactModels.model.Item)". Это сделано в ExtReact. Должен ли я даже объявить схему и пространство имен или просто импортировать обычные объекты? Наиболее важные части кода:
- RootTypeModel:
export default Ext.define("ExtReactModels.model.RootType", {
extend: 'Ext.data.Model',
schema: {
namespace: 'ExtReactModels.model'
},
requires: [
'Ext.data.proxy.Rest', 'ExtReactModels.model.Item'
],
idProperty: 'rootTypeId',
fields: [
/* ... */
],
proxy: {
type: 'rest',
url: '/rootTypes'
},
hasOne: [{
model: 'ExtReactModels.model.Item', name: 'item', associationKey: ">item", instanceName:"item",
getterName: "getItem", setterName: "setItem"
}]
});
- ItemModel:
export default Ext.define("ExtReactModels.model.Item", {
extend: 'Ext.data.Model',
schema: {
namespace: 'ExtReactModels.model'
}
requires: [
'Ext.data.proxy.Rest'
],
idProperty: 'itemId',
fields: [
/* ... */
],
proxy: {
type: 'rest',
url: '/items'
},
hasOne: [{
model: 'ExtReactModels.model.Application', name: 'application', associationKey: ">application", instanceName:"application",
getterName: "getApplication", setterName: "setApplication"
}]
});
1 ответ
Решение
Поэтому я исправил это с помощью обычного объекта, который я импортировал для Item, а также я определил отдельный const, который будет содержать определение схемы и пространства имен и который будет повторяться в отдельных моделях, и теперь я могу использовать это определение в разных моделях.:
import itemModel from './ItemModel';
import {baseModel} from './BaseModel';
export default Ext.define("ExtReactModels.model.RootType", {
extend: 'Ext.data.Model',
baseModel,
requires: [
'Ext.data.proxy.Rest'
],
idProperty: 'rootTypeId',
fields: [
/* ... */
],
proxy: {
type: 'rest',
url: '/rootTypes'
},
hasOne: [{
model: itemModel, name: 'item', associationKey: ">item", instanceName:"item",
getterName: "getItem", setterName: "setItem"
}]
});
Если кто-то нашел другой способ для этого, пожалуйста, дайте мне знать!