在 Ember.js 中,可以使用 Ember Data 来保存模型对象。Ember Data 是一个用于处理数据持久化的库,它提供了一套标准的模型定义和数据操作方法。
要将多个对象保存在 Ember 数据中,首先需要定义一个模型类。模型类可以通过继承 DS.Model
来创建,并定义模型的属性和关联关系。例如,假设我们有一个 Person
模型和一个 Address
模型,其中一个人可以有多个地址:
// app/models/person.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
addresses: DS.hasMany('address')
});
// app/models/address.js
import DS from 'ember-data';
export default DS.Model.extend({
street: DS.attr('string'),
city: DS.attr('string'),
person: DS.belongsTo('person')
});
在上面的例子中,Person
模型有一个 name
属性和一个 addresses
关联关系,而 Address
模型有 street
和 city
属性,并且与 Person
模型建立了双向关联。
接下来,可以使用 Ember Data 的 store
服务来创建和保存模型对象。store
服务是 Ember Data 提供的一个全局服务,可以通过依赖注入的方式在控制器、组件等地方使用。
// app/controllers/my-controller.js
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
export default Controller.extend({
store: service(),
actions: {
savePerson() {
let store = this.get('store');
let person = store.createRecord('person', {
name: 'John Doe'
});
let address1 = store.createRecord('address', {
street: '123 Main St',
city: 'New York'
});
let address2 = store.createRecord('address', {
street: '456 Elm St',
city: 'San Francisco'
});
person.get('addresses').pushObjects([address1, address2]);
person.save().then(() => {
console.log('Person saved successfully!');
}).catch((error) => {
console.error('Failed to save person:', error);
});
}
}
});
在上面的例子中,我们在控制器中使用 store
服务创建了一个 Person
对象和两个 Address
对象,并将地址对象添加到人对象的关联关系中。最后,调用 save()
方法将对象保存到 Ember 数据中。
需要注意的是,上述代码只是一个简单示例,实际应用中可能需要根据具体情况进行适当的修改和扩展。
关于 Ember Data 的更多信息和使用方法,可以参考腾讯云的 Ember Data 文档。
领取专属 10元无门槛券
手把手带您无忧上云