是否可以在Ext.data.Model

时间:2019-03-06 10:06:15

标签: extjs

我有一个看起来像这样的模型:

Ext.define('Person', {
     extend: 'Ext.data.Model',
     fields: [
         {name: 'name', type: 'string'},
         {name: 'age',  type: 'int'}
     ]
 });

这由一家名为peopleStore的商店使用。如果我通过UI更改了一个人的姓名或年龄,并在sync上调用了peopleStore方法,则该方法将正确执行,并且更改将保存到我的数据库中。问题是在我的数据库中每个人都有很多书,如果我更改一个人的书(通过UI修改peopleStore变量),那么我将无法执行sync方法,可能是因为商店看不到作为改变。表book具有列nameperson_id的列。

PS:我知道它不能正确执行sync方法,因为否则它最终将最终以successfailure回调方法结尾,但是不会。

1 个答案:

答案 0 :(得分:0)

我以错误的方式修改了书单。假设在AppModule实体类中有一个Person属性,这是正确的方法。

List<Book> books

然后可以调用var person=peopleStore.getAt(personIndex); var bookList=person.get('books'); var newBookList=booklist.slice(0, bookList.length); newBoolList.push('new book'); person.set('books', newBookList); 方法。