2013-02-01 1 views
0

양식 작업을 돕기 위해 Ember.js 수업을 진행하고 있습니다. 아래 스 니펫에서 내 정의 widgetvalue에 중첩 된 객체의 속성에 바인딩해야하므로 바인딩을 'App.AjaxForm.aField.value'으로 설정합니다.중첩 된 객체 정의 내에서 Ember.js 객체를 어떻게 참조합니까?

이 말을 반복하는 방법이 조금 더 있습니까?

App.Field = Ember.Object.extend({ 
    // The Ember.js equivalent of ``django.forms.fields.Field``. 
    value: null, 
    errors: [], 
    widget: null 
}); 

App.AjaxForm = App.Form.create({ 
    action: '/ajax/', 
    fields: [ 
     'aField' 
    ], 
    aField: App.Field.create({ 
     widget: Ember.TextField.extend({ 
      valueBinding: 'App.AjaxForm.aField.value' 
     }) 
    }) 
}); 

업데이트 : App.Field 정의가 추가되었습니다.

+0

이 질문은 (적어도 저에게는) 약간 혼란 스럽습니다. valueBinding : 'parentView.value'와 같은 것을 원하십니까? App.Field를 어떻게 구현했는지 알지 못하면 완전한 대답을 내리기가 어려울 것입니다. –

+0

@CoryLoken 'parentView.value'는 내가 원한 것과 비슷하다고 가정합니다. 나는 App.field의 정의로 질문을 갱신했다. 그것은 몇 가지 속성을 가진 Ember 객체 일뿐입니다. – hekevintran

답변

0

이것은 내 해결책입니다.

App.Field = Ember.Object.extend({ 
    // The Ember.js equivalent of ``django.forms.fields.Field``. 
    value: null, 
    errors: [], 
    widget_class: Ember.TextField, 
    widget: function() { 
     return this.get('widget_class').extend({ 
      field: this, 
      valueBinding: 'field.value' 
     }); 
    }.property() 
}); 
관련 문제