EmberJS - 推送记录
您可以将记录推送到存储的缓存中,而无需从应用程序请求记录。只有当记录在缓存中时,如果路由或控制器请求,存储才能够返回记录。
示例
下面给出的示例显示了将记录推送到 ember firebase。使用以下代码打开在 app/templates/ 下创建的 application.hbs 文件 −
<h2>Pushing Record into Store</h2> <form> {{input type = "name" value = nameAddress placeholder = "Enter the text" autofocus = "autofocus"}} //当用户点击发送按钮时,将触发"saveInvitation"操作 <button {{action 'saveInvitation'}} >Send</button> </form> {{#if responseMessage}} //发送文本成功后显示响应消息 {{responseMessage}} {{/if}} {{outlet}}
创建一个名为 invitation 的模型,它将在 app/models/ 下创建。打开文件并添加以下代码 −
import DS from 'ember-data'; export default DS.Model.extend ({ //使用 'attr()' 方法指定属性 name: DS.attr('string') });
接下来,创建一个名为 application 的控制器,它将在 app/controllers/ 下创建。打开文件并添加以下代码 −
import Ember from 'ember'; export default Ember.Controller.extend ({ headerMessage: 'Coming Soon', //显示发送记录到存储后的响应消息 responseMessage: '', nameAddress: '', actions: { //当用户点击发送按钮时触发此操作名称 saveInvitation() { const name = this.get('nameAddress'); //通过调用 createRecord() 方法在商店中创建记录 const newInvitation = this.store.createRecord('invitation', { name: name }); newInvitation.save(); //调用 save() 方法将记录持久化到后端 this.set('responseMessage', `Thank you! We have saved your Name: ${this.get('nameAddress')}`); this.set('nameAddress', ''); } } });
您可以在 Ember Firebase 上以 JSON 格式存储信息。为此,您需要使用 Firebase 网站创建帐户。有关如何在应用程序中创建和配置 Firebase 的更多信息,请单击此 链接。
输出
运行 ember 服务器,您将获得输入框以输入值,如下面的屏幕截图所示 −
单击发送按钮后,它将显示用户输入的文本 −
现在打开您的 firebase 数据库,您将在 Database 部分下看到存储的值 −