簡體   English   中英

Emberjs復選框保存到數據庫

[英]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) ,那么它將告訴我truefalse的正確值。 我唯一的結論是,直到運行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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM