我有一個表單並處理我的路由器中的提交代碼。我的模板都有這樣的:根據記錄保存修改模板
{{#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( ...)」。與我的方式相比,以更「通用」的方式做到這一點的最佳方式是什麼?
爲什麼不把控制器綁定到記錄上的'isSaving'? – 2013-03-26 11:42:25
我試着向我的控制器添加「isSavingBinding:'content.isSaving'」,但我得到「不能將set('isSaving')委託給'content'... undefined」。控制器的內容與「contentBinding:'controllers.companies.firstObject',」綁定。想法? – Marin 2013-03-26 13:31:48
哦,我明白了,必須先在控制器上明確設置「isSaving」。謝謝 – Marin 2013-03-26 13:36:04