2012-02-03 4 views
5

Las clases de modelo, vista y controlador de Mi Ember.js son cada vez más detalladas. Parte de esto proviene de escribir this.get('attr') en lugar de this.attr.Ember.js: OK para evitar this.get ('attr')?

¿Es correcto escribir siempre this.attr, siempre que el atributo se declare directamente, no a través de un enlace?

(I comprender que la configuración es una cuestión diferente - siempre hay que llamar this.set('attr', value) con el fin de actualizar los atributos dependientes y plantillas.)

Respuesta

5

IIRC, usted puede hacer esto para las propiedades privadas que sabe que no será observable.

La convención es prefijar sus propiedades privadas con un guión bajo (por ejemplo _myProperty) que le dice a Ember que no lo vincule.

Consulte los documentos para .get(), o consulte source code si así lo desea.

+0

El enlace parece estar roto – rjhilgefort

3

Si la propiedad está siendo observada o encuadernada, NO QUIERE hacer 'this.attr'. El comando get es el nexo a través del cual se activan los enlaces y los observadores.

+1

Interesante. Entonces, ¿bajo qué circunstancias el comando get dispararía un observador o un enlace? Pensé que simplemente lee pasivamente el valor actual. (Esperaba configurar, no obtener, para desencadenar observadores y enlaces.) –

+0

@JoLiss: Creo que ese sería el caso cuando intentas leer una propiedad calculada que depende de otras propiedades, etc. –