簡體   English   中英

Javascript / Ember - 切換變量的布爾值

[英]Javascript/Ember - Toggle Boolean Value of Variable

我知道有.set()方法將布爾值設置為true或false但我想知道是否有類似.set()的方法,除非它切換布爾值。

在這種情況下,布爾值isEditing被設置為“true”。

isEditing:false,
actions: {
  edit: function(category){
    category.set('isEditing', true);
    console.log(this.get('isEditing'))
  },
}

這是html

{{#if isEditing}}
  <div class="category-text"> 
    {{view Ember.TextField valueBinding=name action="turnOffEditMode"}}
  </div>
{{else}}
  <div class="category-text"> 
    {{#linkTo 'category' this}}
      {{name}}
    {{/linkTo}}
  </div>
{{/if}}  
this.toggleProperty('propertyName');

編輯: jsbin為證明

isEditing:false,
actions: {
    edit: function(category){
        category.set('isEditing', !category.isEditing);
        console.log(this.get('isEditing'))
    }
    toggleEditing : function(category){
    }
}

切換布爾值是您所需要的。 或者你可以改變你的功能,如下所示。

isEditing:false,
actions: {
    toggleEditing : function(category){
        category.set('isEditing', !category.isEditing);
        console.log(this.get('isEditing'));
    }
}

@ gravityplanx的答案很棒。

我只想補充一點,這種方法也適用於控制器之外。

例如,如果我的Model有一個Post對象,我可以從控制器更新它。 我只需要將對象傳遞給控制器​​動作。

switch_readiness(post) {
    post.toggleProperty('isPublishReady');
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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