首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ember-Data Fixture适配器

Ember-Data Fixture适配器
EN

Stack Overflow用户
提问于 2012-09-12 19:16:55
回答 1查看 6.7K关注 0票数 2

是否有用于fixture适配器的commit方法?是干什么的呢?据我所知,当与REST适配器一起使用时,store.commit()会发出一个API调用。

我可以在夹具适配器中使用isLoaded属性吗?

基本上,我的控制器中有两条记录,分别是xy,还有一个属性内容,其中有许多y类型的记录。咖啡代码如下:

代码语言:javascript
复制
someMethod: (->
  content.removeObject(y)
).('x.isLoaded')

anotherMethod: ->
  //modify x
  Application.store.commit()

当我调用anotherMethod时,它会更新x并在存储上运行提交,因此会调用someMethod。我的实际应用程序运行得很好,但是在测试的情况下,someMethod会从内容和存储中删除记录y。是不是isLoadedcommit不适用于fixture数据存储?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-24 00:48:17

是的,有一个commit方法,可以通过DS.Store或DS.Transaction访问。

这里有一个fiddle,它有一些很好的代码,可以快速地演示带有fixture的CRUD。

代码语言:javascript
复制
window.App = Ember.Application.create();

App.store = DS.Store.create({
    revision: 4,
    adapter: 'DS.fixtureAdapter'
});

App.Person = DS.Model.extend({
    id: DS.attr('number'),
    name: DS.attr('string')
})

App.Person.FIXTURES = [
    {id: 1, name: 'Fixture object 1'},
    {id: 2, name: 'Fixture object 2'}
];

App.people = App.store.findAll(App.Person);
App.store.createRecord(App.Person, {id: 1, name: 'Created person'});

App.personView = Em.View.extend({
    isVisibleBinding: 'notDeleted',
    notDeleted: function() {
        return !this.getPath('person.isDeleted');
    }.property('person.isDeleted').cacheable(),

    remove: function () {
      this.get('person').deleteRecord();
    }
});
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12386913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档