2012-06-11 8 views
5

Estoy intentando vincular Ember.TextField's value a una propiedad en su vista principal. Este código funcionaba antes de actualizar a la última versión de Ember. He leído sobre el nuevo alcance de la vista, pero no puedo determinar si/cómo se aplica aquí.Ember.Text Valor de campo Enlace a parentView

Plantilla my-template:

Input: {{view Ember.TextField valueBinding="theValue" }} 

Vista:

App.MyView = Em.View.extend({ 
    templateName: 'my-template', 
    theValue: null, 
    init: function(){ 
     this._super(); 
     this.set('theValue',''); 
    }, 
    keyDown: function(e){ 
     if(e.keyCode === 13){ 
      alert(this.get('theValue')); 
     } 
    } 
});​ 

jsFiddle: demo

He intentado "parentView.theValue" y "view.parentView.theValue"

Sé que puedo dar el TextField a viewName y se unen a eso desde el interior MyView pero quiero saber por qué el método anterior dejó de funcionar.

Actualización:

Respuesta

8

He actualizado su jsFiddle a trabajar: http://jsfiddle.net/U3thg/23/

que acaba de cambiar su valueBinding a "view.theValue".

{{view Ember.TextField valueBinding="view.theValue" }} 
+0

hubiera jurado que he intentado. ¡Gracias! –

4

Para darle una respuesta de por qué el método anterior dejó de funcionar. Creo que el equipo de Ember cambió el contexto vinculado en las plantillas. Ahora creo que el contexto actual es el controlador adjunto a la vista adjunta.

que deriva el violín @ebryn:

http://jsfiddle.net/Sly7/tcvhB/

+1

Actualicé mi pregunta con los enlaces relevantes. –

+0

+1 para la pregunta, estos enlaces son muy útiles y confirman lo que dije. Muchas gracias. –

Cuestiones relacionadas