我正在阅读EmberJS教程并创建TodoMVC:http://www.thetechcofounder.com/getting-started-with-ember-js-using-ember-cli/
我没有使用教程中的ember-cli-mirage,而是连接了Firebase,其中大部分工作都很棒。我很喜欢Angular和Dart with Firebase,但我刚开始学习Ember。
我正在努力使用复选框输入而不更新Firebase,我不确定从何处开始。
在我的组件中我有
{{input type="checkbox" checked=todo.complete class="toggle"}}
我的模型看起来像这样:
export default DS.Model.extend({
title: DS.attr('string'),
complete: DS.attr('boolean')
});
在Chrome中使用Ember Inspector我可以看到ember数据得到了适当的更新,但这种改变永远不会出现在firebase中。是否有一些特定的东西需要用EmberFire连接Ember Checkbox助手?
如果我向ember组件todo-item.js添加一个更改处理程序,我可以发送一个动作并按预期方式工作。
change: function(e) {
this.sendAction('updateTodo', this.get('todo'));
return false;
},
不确定这是否是最合适的方式,但它暂时让我前进。
答案 0 :(得分:0)
是的,这是正确的方法。 看看Ember指南(它们很棒)
每条记录都有一个显式跟踪内容的currentState属性 在任何给定时间记录记录。例如,如果是记录 新创建并尚未发送到适配器进行保存,它 将在root.loaded.created.uncommitted状态。如果有记录 对其进行了本地修改,正在进行中 保存后,记录将处于root.loaded.updated.inFlight状态。 (这种状态路径将在下面更详细地解释。)
最初你只是改变当前的状态。有一个更详细的看看ember检查器。它显示当前状态以及规范状态。但是我没有使用ember firebase适配器,所以不能对此进行评论。
快乐学习Ember。愿原力与你同在 。 :)