ember create component javascript html5 ember.js boolean toggle

javascript - create - ember component



Javascript/Ember-Alternar el valor booleano de la variable (3)

this.toggleProperty(''propertyName'');

Editar: jsbin para prueba

Sé que existe el método .set () para establecer un booleano en verdadero o falso, pero quiero saber si hay un método como .set () excepto que alterna el valor de un booleano.

En este caso, boolean isEditing se está configurando a ''true''.

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

Aquí está el 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}}


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

Alternar el valor booleano es lo que necesita. O puedes cambiar tu función como a continuación.

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


La respuesta de @gravityplanx es genial.

Solo quiero agregar que esta metodología funciona más allá del controlador también.

Por ejemplo, si mi Modelo tiene un objeto Post , puedo actualizarlo desde el controlador. Solo tengo que pasar el objeto a una acción de controlador.

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