我知道有.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}}
发布于 2014-02-22 02:31:57
this.toggleProperty('propertyName');
发布于 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'));
}
}
发布于 2017-07-01 01:46:59
@gravityplanx的答案很好。
我只想补充说,这种方法也可以在控制器之外工作。
例如,如果我的模型有一个Post
对象,我可以从控制器更新它。我只需将对象传递给控制器操作即可。
switch_readiness(post) {
post.toggleProperty('isPublishReady');
}
https://stackoverflow.com/questions/21942180
复制相似问题