Javascript 在Ember 2.10中清除表单字段

Javascript 在Ember 2.10中清除表单字段,javascript,ember.js,Javascript,Ember.js,我正在学习一个关于构建ember 2.10应用程序的教程。我已将验证逻辑移出联系人控制器,并将其放入联系人模型中。我已将我的操作(保存联系人)放置在联系人路由文件中。 我可以将我的新联系人保存到Firebase数据库而不会出错。我被困在如何清理表格上 我的联系人路由文件看起来像 import Ember from 'ember'; export default Ember.Route.extend({ model() { return this.store.createRecor

我正在学习一个关于构建ember 2.10应用程序的教程。我已将验证逻辑移出联系人控制器,并将其放入联系人模型中。我已将我的操作(保存联系人)放置在联系人路由文件中。 我可以将我的新联系人保存到Firebase数据库而不会出错。我被困在如何清理表格上

我的联系人路由文件看起来像

import Ember from 'ember';

export default Ember.Route.extend({

  model() {
    return this.store.createRecord('contact');
  },

  actions: {

    saveContact(newContact) {
      newContact.save().then((response) => {
        const email = this.get('model.email');
        const message = this.get('model.message')
        this.set('email', '');
        this.set('message', '');
      })
    }

  }

});
我试图检索表单中的当前值,并将message和email设置为空字符串

我已经运行了一个测试并将控制台日志电子邮件发送到控制台,它返回未定义的邮件

在输入字段中,传入的值是model.email和model.message


是否还有其他人遇到此问题?

若要刷新此路由上的模型,请尝试呼叫

this.refresh()

这将触发
beforeModel
model
afterModel
挂钩,以便您获得新的联系人模型

要刷新此路由上的模型,请尝试调用

this.refresh()

这将触发
beforeModel
model
afterModel
挂钩,以便您获得新的联系人模型

尝试
this.set('model.email','');this.set('model.message','')
或者你可以直接调用
this.refresh()
它将调用model hook,你将获得新的联系人model。谢谢。这个.refresh()有效。this.set('model.email',')和this.set('model.message','')是我尝试的第一件事。我可以提交表单值,但是页面没有重置就冻结了。在模型函数中创建新记录有点奇怪。在存储区中创建记录(不保存)不是异步过程。所以你们可以在任何地方做,而不仅仅是在模型中。
model()
hook的目的是从api/database/file加载一些东西。我认为,在您的情况下,您应该有联系人表单组件,并且应该实现整个联系人表单逻辑。如果你已经有了这个组件,你可以粘贴它,我会看看能做些什么来改进代码。试试
this.set('model.email','');this.set('model.message','')
或者你可以直接调用
this.refresh()
它将调用model hook,你将获得新的联系人model。谢谢。这个.refresh()有效。this.set('model.email',')和this.set('model.message','')是我尝试的第一件事。我可以提交表单值,但是页面没有重置就冻结了。在模型函数中创建新记录有点奇怪。在存储区中创建记录(不保存)不是异步过程。所以你们可以在任何地方做,而不仅仅是在模型中。
model()
hook的目的是从api/database/file加载一些东西。我认为,在您的情况下,您应该有联系人表单组件,并且应该实现整个联系人表单逻辑。如果你已经有了这个组件,你可以粘贴它,我会看看能做些什么来改进代码。