代码之家  ›  专栏  ›  技术社区  ›  Nacho B

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

  •  0
  • Nacho B  · 技术社区  · 6 年前

    我在灰烬3.4

    我可以用

    let course = EmberObject.extend({
      duration: null,
      level: null
    });
    
    course.create({ duration: '7', level: 'medium' });
    

    'app/models/course.js'

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

    1 回复  |  直到 6 年前
        1
  •  2
  •   NullVoxPopuli    6 年前

    是的,你可以在任何余烬对象上调用extend/create。

    不过,如果您希望ember数据知道模型,您可能希望通过服务注入存储。

    这样地:

    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';