【发布时间】:2017-06-29 16:59:54
【问题描述】:
我有一个对服务器有多个 AJAX 调用的页面。现在,我正在使用 Mirage 模拟数据以进行测试。为此,我使用的是工厂。
我为页面渲染期间使用的所有模型提供了工厂。所有模型都有很多关系,很少有模型有 hasMany 和 belongsTo,其他模型只有 hasMany。
我在网上偶然发现使用 aftercreate 钩子来进行此类关联。
我的疑问是:
海市蜃楼中的模型 author.js 有:
author: hasMany('post'),
afterCreate(a, server) {
server.create('b', {a});
}
同样,海市蜃楼中的模型 post.js 有:
author: belongsTo(),
aftercreate(b, server) {
server.create('a', {post});
}
我的疑问是,这不是递归调用吗,在每个 afterCreate 钩子之后,另一个模型被实例化,并同时调用另一个 afterCreate 等等?
用 mirage 处理这类关系问题的最佳方法是什么?
提前致谢!
【问题讨论】:
标签: javascript ember.js ember-data ember-cli-mirage