使用模型在组件中创建对象

Use a model to create an object in a component

我在 Ember 3.4

我可以用

创建一个Ember对象
let course = EmberObject.extend({
  duration: null,
  level: null
});

course.create({ duration: '7', level: 'medium' });

但是我已经有了一个课程模型,在 'app/models/course.js' 中定义。

我想知道我是否可以 "import" 组件中的模型并使用它来创建对象。

是的,您可以在任何 ember 对象上调用扩展/创建。

不过,如果您希望 ember-data 了解模型,您可能希望通过服务注入商店。

像这样:

import Component from '@ember/component';
import { service } from '@ember-decorators/service';

export default class extends Component {
  @service store;

  async someFunction() {
    const course = this.store.createRecord('course', {
      duration: '7', 
      level: 'medium'
    });

    // maybe other logic

    await course.save();

  }
}

从模型中导入任何东西

import ModelName from 'appname/app/models/model-file';