[英]Emberjs Checkbox Save to Database
我有一個復選框,需要在值更改后立即保存到數據庫。 它綁定到數據元素審核。 這是模板中的復選框:
{{view Site.ReleaseChecklistToggleView checkedBinding="audit" contentBinding="this" placeholder="#"}}
以下是Site.ReleaseChecklistToggleView
的定義:
Site.ReleaseChecklistToggleView = Em.Checkbox.extend(
change: (e)->
this.content.save()
)
似乎在調用更改之前未設置審核。 它將audit
變量作為null
傳遞給數據庫,但是如果我在change
方法中執行console.log(this.content.audit)
,那么它將告訴我true
或false
的正確值。 我唯一的結論是,直到運行change方法之后,它才更新ember模型。
有什么建議嗎? 我使用了錯誤的方法嗎?
請嘗試以下操作:
Site.ReleaseChecklistToggleView = Em.Checkbox.extend(
valueChanged: ->
@get("content").save()
.observes("checked"))
查閱Todo應用程序的Ember指南( http://emberjs.com/guides/getting-started/marking-a-model-as-complete-incomplete/ )。 通過執行此操作,我可以通過復選框自動保存特定屬性。
萬一該鏈接不再活動,這就是他們的操作方式...
把手
<!--- ... additional lines truncated for brevity ... -->
{{#each itemController="todo"}}
<li {{bind-attr class="isCompleted:completed"}}>
{{input type="checkbox" checked=isCompleted class="toggle"}}
<label>{{title}}</label><button class="destroy"></button>
</li>
{{/each}}
<!--- ... additional lines truncated for brevity ... -->
控制者
Todos.TodoController = Ember.ObjectController.extend({
isCompleted: function(key, value){
var model = this.get('model');
if (value === undefined) {
// property being used as a getter
return model.get('isCompleted');
} else {
// property being used as a setter
model.set('isCompleted', value);
model.save();
return value;
}
}.property('model.isCompleted')
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.