首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript/Ember -切换变量的布尔值

Javascript/Ember -切换变量的布尔值
EN

Stack Overflow用户
提问于 2014-02-22 02:18:45
回答 3查看 16.5K关注 0票数 24

我知道有.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}}  
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-22 02:31:57

this.toggleProperty('propertyName');

编辑:jsbin for proof

票数 53
EN

Stack Overflow用户

发布于 2014-02-22 02:20:17

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

切换布尔值是您所需要的。或者yu可以像下面这样改变你的函数。

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

Stack Overflow用户

发布于 2017-07-01 01:46:59

@gravityplanx的答案很好。

我只想补充说,这种方法也可以在控制器之外工作。

例如,如果我的模型有一个Post对象,我可以从控制器更新它。我只需将对象传递给控制器操作即可。

switch_readiness(post) {
    post.toggleProperty('isPublishReady');
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21942180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档