EmberJS不能设置property 'store'未定义的(DS.hasMany)
EmberJS Cannot set property 'store' of undefined (DS.hasMany)
首先,我阅读了SO的相关问题,但似乎没有一个对我有帮助。
2模型, Foo 和栏。 Foo 有一个属性,酒吧,这 hasMany 栏。
//FOOexport default DS.Model.extend({
name: attr('string'),
bars: hasMany('bar')
});
//酒吧
export default DS.Model.extend({
name: attr('string')
foo: belongsTo('foo')
});
和JSON有效负载:
{
"name": "Something",
"bars": [
{
"name": "something else"
},
{
"name": "another one"
}
]
}
我一直在试图找出这个错误,但我卡住了。
这是jsbin。如果您查看浏览器控制台(不是jsbin控制台),您可以看到错误。
看起来你没有为你的"bar"对象指定一个ID。每个模型都需要一个ID来使对象唯一,并知道如何将其与资源关联起来。将服务器输出更改为以下内容应该可以解决问题:
{
"name": "Something",
"bars": [
{
"id": 1,
"name": "something else"
},
{
"id": 2,
"name": "another one"
}
]
}
另一个解决方案(无论id是否存在)是将"async"设置为true,如下所示:
export default DS.Model.extend({
name: attr('string'),
bars: hasMany('bar', { async: true })
});
这将导致EmberJS在后台加载数据,而不是阻塞/导致任何等待关系解析的错误。
相关文章:
- Ember Data DS.Model's set函数不起作用
- Ember数据:DS.EmbeddedRecordsMixin的预期使用模式
- Sequelize hasMany浏览另一张表
- Ember js 2计数相关字段(hasMany)
- Extjs 4-associations hasMany不在loadData上加载嵌套列表
- 可以't在空的hasMany关系上使用{{#for}}助手
- Sequelize HasMany BelongsToMany删除旧引用
- Ember.js按名称查找模型项,然后将其添加到现有的不同模型hasMany记录中
- Ember数据:DS.attr(“数字”)应该如何工作
- Ember.js Ember数据呈现双嵌套hasMany关系
- Ember数据:在DS.Store.createRecord上刷新模型
- 如何使用MongoDB执行具有“hasmany”关联的查询
- Ember数据FixtureAdapter hasmany-无法调用方法'toString'的未定义
- js数据:;none”;以及“;注入“;对于DS“;reapAction”;配置选项
- EmberJS transitionTo firstObject for async hasMany
- DS.RESTAdapter.map is undefined
- 在 Ember.js 2.3 中,如何将 hasMany 异步调用编译为 ember 中的一个调用而不是多个调用
- 在余烬 CLI 中找不到变量:DS
- 以编程方式访问 Sencha Touch 2 列表中的 hasMany 关联点击处理程序
- EmberJS不能设置property 'store'未定义的(DS.hasMany)