【发布时间】:2015-10-20 11:12:18
【问题描述】:
我是 Ember CLI 的新手,我一直在尝试在创建后将数据推送到 hasMany 关系,但我收到了这个奇怪的错误 Uncaught TypeError: Cannot read property 'push' of undefined 一切似乎都是很好 this.store.createRecord() 正在工作,但 .findRecord .push .peekRecord 不工作。
我的控制器:
var VideoToAdd = this.store.find('video', this.get('ActiveCanvas'));
console.log(this.get('ActiveCanvas'));
VideoToAdd.get('hotspots').push(newHotspot);
视频模型
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr(),
file: DS.attr(),
hotspots: DS.hasMany('hotspot')
});
热点模型:
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr(),
onVideo: DS.belongsTo('video'),
toVideo: DS.attr()
});
请告诉我出了什么问题。
【问题讨论】:
-
我想你想要
VideoToAdd.get('hotspots').addObject(newHotspot),或者.addObjects,如果它是一个热点数组的话。您也可以使用.pushObject和.pushObjects,但使用'add' 将检查以确保数组中不存在该记录,因此更安全一些。
标签: ember.js ember-data ember-cli