Comme le souligne @oruen dans sa réponse correcte vous décrivez setProperties(...).
Un problème potentiel dont il faut être conscient est que, selon la spécification JS, l'ordre des propriétés d'un objet est indéterminé. (Voir Ordre des éléments dans une boucle "for ( in )". ).
Si vous ne vous souciez pas de l'ordre, ou si vous êtes sûr que les implémentations JS que vous ciblez respecteront votre ordre, setProperties devrait vous convenir.
Lorsque vous définissez plusieurs propriétés, vous devez envisager d'utiliser Ember.beginPropertyChanges() y Ember.endPropertyChanges() . Le premier suspend les déclencheurs de l'observateur et le second les restaure et les vide. Cette approche peut améliorer les performances. setProperties le fait pour vous.
A noter également Ember.changeProperties qui accepte un callback et appelle Ember.beginPropertyChanges, puis votre callback, et enfin Ember.endPropertyChanges, même si votre callback a soulevé une exception. Exemple d'utilisation :
Ember.changeProperties(function() {
obj1.set('foo', mayBlowUpWhenSet);
obj2.set('bar', baz);
});
J'espère que cela vous aidera !