Ember.JS - 提交按钮运行查询并将 JSON 对象返回到模板。我是在服务中、作为模型还是在 route 运行查询?

标签 ember.js service model

我还是个新手,正在将应用程序从 Node Express 转换为 Ember,我对 Ember 涉及的一些方法感到困惑。

在当前应用程序中,有一个提交的表单,然后根据输入执行查询 - 将结果播种到新模板中。在当前应用程序的app.js中有一个关于POST的switch语句:

app.post('/test', function(req, res){
switch(req.body.module) {
    case "Option 1":
  getOption1Results(req, res);
    break;
    case "Option2":
  getOption2Results(req, res)
  break;
    case "Option 3":
  getOptio3Results(req, res)
  break;
  case "Option 4":
  getOption4Results(req, res)
  break;
  default:
    console.log("didn't work")

}

为了在 Ember 中获得相同的结果,我不知道是否应该创建一个服务来执行上述操作,或者创建一个路由并在传递给模板的模型中执行查询。或者,如果我需要通过表单提交按钮的操作来处理它。

非常感谢任何建议。

最佳答案

我要做的是:

  • 创建向用户显示表单的路由
  • 对表单执行一个操作,以便在提交表单时调用一个操作。如果您愿意,您可以在此处验证表单
  • 创建一个服务来执行查询(或者您也可以使用 Controller ,但我个人不喜欢它们)

要在表单提交上调用操作(通过按下提交按钮和按下 Enter 键),您可以执行以下操作:

<form {{action "onSubmitAction" on="submit"}}>
    {{input type="text" value="foobar"}}
    <button type="submit">Save</button>
</form>

然后在您的 Controller (或组件)中,您将定义以下内容

actions: {
    onSubmitAction() {
        // Do something
    }
}

关于Ember.JS - 提交按钮运行查询并将 JSON 对象返回到模板。我是在服务中、作为模型还是在 route 运行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47176276/

相关文章:

android - 服务和 cordova 插件

multithreading - delphi xe下服务应用程序中的线程不起作用

android - 如何通知 Activity 有关服务的进度

mysql - Cakephp 使用模型插入到选择中

java - 两个里面几乎有重复代码的类

c# - MVVM:精简 ViewModel 和丰富模型

ember.js - 从 {{view Ember.TextField}} 到 {{input type ="text"}}

javascript - 按键组合数组中的项目

ember.js - Ember 渲染 hbs 吞咽抛出错误

rest - Ember数据API端点与映射的路由复数