我有一个表单并在我的路由器中处理提交代码。我的模板有这个:
{{#if isSaving}}
Saving...
{{else}}
<form>
inputs...
</form>
{{/if}}
我在路由器中保存的代码是这样的(ctrl是控制器):
events: {
saveCompany: function(record, ctrl){
if (!record.get('isDirty')) return;
ctrl.set('isSaving', true);
record.one('didUpdate', this, function() {
ctrl.set('isSaving', false);
});
record.get('transaction').commit();
},
当用户点击提交时,“保存...”会在更新完成后正确显示并隐藏。但我已经在我的模型定义中处理了didCreate,DidUpdate等 - 通过显示一些弹出窗口,但我仍然希望能够防止用户在保存数据时摆弄我的表单,这就是我使用“record.one”的原因( ...)”。与我的方式相比,以更“通用”的方式做到最好的方法是什么?
答案 0 :(得分:1)
如果您的控制器是Ember.ObjectController
,则您已经可以透明地访问content
上的属性。如果content
是您正在观察的记录,您可以在控制器上观察isSaving
,而无需任何其他代码,绑定或您拥有的内容。