根据记录保存修改模板

时间:2013-03-26 08:37:52

标签: ember.js

我有一个表单并在我的路由器中处理提交代码。我的模板有这个:

    {{#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”的原因( ...)”。与我的方式相比,以更“通用”的方式做到最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您的控制器是Ember.ObjectController,则您已经可以透明地访问content上的属性。如果content是您正在观察的记录,您可以在控制器上观察isSaving,而无需任何其他代码,绑定或您拥有的内容。