我还是个新手,正在将应用程序从 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/