组件是否用于在Ember.js中创建数据?

组件是否用于在Ember.js中创建数据?,ember.js,ember-data,Ember.js,Ember Data,我是新的余烬,并试图让我的头周围所有这些新的余烬概念 目前,我正在努力寻找创建数据的最佳方法 我想做的是,创建一个文件上传,通过两个AJAX调用访问一个微服务,同时创建一个模型实例 由于此上传表单应在多个地方使用,因此组件似乎是正确的选择 那么,如何构建一个实现这一点的组件呢 我是否应该创建一个组件并在那里执行AJAX调用,同时绕过Ember数据 我是否应该处理一些模型数据到组件,并通过模型的数据适配器进行AJAX调用 我完全错了,还有别的办法吗 好的,有几种方法可以做到这一点。首先是的,组件肯

我是新的余烬,并试图让我的头周围所有这些新的余烬概念

目前,我正在努力寻找创建数据的最佳方法

我想做的是,创建一个文件上传,通过两个AJAX调用访问一个微服务,同时创建一个模型实例

由于此上传表单应在多个地方使用,因此组件似乎是正确的选择

那么,如何构建一个实现这一点的组件呢

  • 我是否应该创建一个组件并在那里执行AJAX调用,同时绕过Ember数据
  • 我是否应该处理一些模型数据到组件,并通过模型的数据适配器进行AJAX调用
  • 我完全错了,还有别的办法吗

  • 好的,有几种方法可以做到这一点。首先是的,组件肯定是您需要的

    我不认为你应该绕过余烬数据。这样做的理由真的很少。您可能想做的是:

  • 要使用
    store.createRecord()
    创建记录
  • 修改记录
  • .save()
    it
  • 并处理适配器中的所有
    ajax
    内容
  • 基本上有两种方法可以做到这一点:

    • 您可以在拥有所有数据后从组件调用操作,并在该操作中执行上述所有操作。我认为这是最有效的方法。使用这种方法,当调用组件
      {{file upload onUpload=(action'upload')}
      时,您与外部世界的连接是明确的
    • 您可以将存储注入组件中。老实说,我会这么做的。这家商店只是一种服务,所以很容易。然后你就可以创建你的记录了。但是,您与商店的连接不太明确

      • 好的,有几种方法可以做到这一点。首先是的,组件肯定是您需要的

        我不认为你应该绕过余烬数据。这样做的理由真的很少。您可能想做的是:

      • 要使用
        store.createRecord()
        创建记录
      • 修改记录
      • .save()
        it
      • 并处理适配器中的所有
        ajax
        内容
      • 基本上有两种方法可以做到这一点:

        • 您可以在拥有所有数据后从组件调用操作,并在该操作中执行上述所有操作。我认为这是最有效的方法。使用这种方法,当调用组件
          {{file upload onUpload=(action'upload')}
          时,您与外部世界的连接是明确的
        • 您可以将存储注入组件中。老实说,我会这么做的。这家商店只是一种服务,所以很容易。然后你就可以创建你的记录了。但是,您与商店的连接不太明确

        好的。将存储注入组件似乎是一种实用的方法。我认为如果我需要在上传回组件的过程中提供诸如Proges之类的反馈,那么调用一个操作将是有问题的?@JPS好吧,这是可能的。动作有返回值,您可以用数据给出状态。OK。将存储注入组件似乎是一种实用的方法。我认为如果我需要在上传回组件的过程中提供诸如Proges之类的反馈,那么调用一个操作将是有问题的?@JPS好吧,这是可能的。操作有返回值,您可以用数据给出状态。